PHP istemci kitaplığı, minimum yapılandırmayla Google Ads API ile etkileşimleri kolaylaştırır. Bununla birlikte, performans büyük ölçüde kitaplığın nasıl kullanıldığına ve entegre edildiğine bağlıdır.
Bu en iyi uygulamaların çoğu tüm diller için geçerlidir. Bu kılavuzda PHP'ye özel konular açıklanmaktadır.
Protobuf uygulaması
Protobuf, istek ve yanıt mesajları için gRPC ve Google Ads API tarafından kullanılır. İki uygulama mevcuttur ancak C ile yazılanın performansı daha iyidir.
Daha fazla bilgi için Protobuf kılavuzuna bakın.
PHP yorumlayıcısının çalışma modu
PHP, çok yönlü bir komut dosyası dilidir ve kullanıma bağlı olarak birçok işlem moduna sahiptir. PHP CGI (Common Gateway Interface), kaynaklar arasında yürütmeler arasında paylaşım yapabildiğinden önemli bir avantaja sahiptir.
PHP sürümü
Genellikle daha iyi genel performans sağladığı için düzenli olarak daha yeni bir PHP sürümüne geçmek iyi bir uygulamadır. Desteklenen PHP sürümlerinin listesi.
Kullanılmayan Google Ads API sürümleri
İstemci kitaplığının tüm sürümleri birden fazla Google Ads API sürümünü destekler. İstemci kitaplığı tarafından desteklenen her Google Ads API sürümü için ayrı paketler bulunur.
Google Ads API'nin kullanılmayan sürümlerine özel paketler, istemci kitaplığından güvenli bir şekilde kaldırılabilir. İstemci kitaplığı, yürütmeyi hızlandırmak veya bellek ayak izini azaltmak için programlı olarak bu işlemleri yapmanızı sağlayan yardımcı programlar sağlar.
Örnek
Yalnızca en son API sürümünü (v18
) kullanan istemci kitaplığını uyguladığınızı ve kullanılmayan API sürümleri (v17
ve v16
) için desteği kaldırmak istediğinizi varsayalım.
Projenin composer.json
dosyasında, ApiVersionSupport
sınıfında istemci kitaplığı tarafından sağlanan yardımcı programdan yararlanan bir Composer komut dosyası (remove-google-ads-api-version-support
adlı) tanımlayın:
"scripts": {
"remove-google-ads-api-version-support": [
"Google\\Ads\\GoogleAds\\Util\\ApiVersionSupport::remove"
]
}
Ardından, Composer komut dosyasını parametre olarak sürüm numaralarını kullanarak kullanın ve bazı durum mesajlarını yazdırın:
# Change the current directory to the project directory.
cd /path/to/the/project
# Install the project.
composer install
# Output the vendor folder size and the list of Google Ads API versions that are
# supported before removing support for Google Ads API versions.
echo "# Supported Google Ads API versions:"
find ./vendor/googleads/google-ads-php/src/Google/Ads/GoogleAds/V* -maxdepth 0 | grep -o '..$'
echo "# Vendor folder size:"
du -sh ./vendor
# Use the Composer script to remove the unused versions v16 and v17 of the Google Ads API.
echo "# Removing support..."
composer run-script remove-google-ads-api-version-support -- 16 17
# Output the vendor folder size and the list of Google Ads API versions that are
# supported after removing support for Google Ads API versions.
echo "# Supported Google Ads API versions:"
find ./vendor/googleads/google-ads-php/src/Google/Ads/GoogleAds/V* -maxdepth 0 | grep -o '..$'
echo "# Vendor folder size:"
du -sh ./vendor
Aşağıdaki örnek yürütme çıkışında, dosya boyutunda 50 MB'lık bir azalma ve desteklenen tek sürümün V18
olduğu görülüyor:
# Supported Google Ads API versions:
V16
V17
V18
# Vendor folder size:
110M ./vendor
# Removing support...
> Google\Ads\GoogleAds\Util\ApiVersionSupport::remove
Removing support for the version 16 of Google Ads API...
Done
Removing support for the version 17 of Google Ads API...
Done
# Supported Google Ads API versions:
V18
# Vendor folder size:
60M ./vendor
Geliştirme mi, üretim mi?
PHP, talimatları çalıştırmadan önce derlediği için anlaşılabilir bir dildir. Geliştirme süresi boyunca kaynaklar genellikle değişirken yürütme süresi o kadar önemli olmadığından bu genellikle avantajlıdır. Ancak üretim sırasında asıl endişeler kararlılık ve performans olduğu için bunun tam tersi geçerlidir.
Önbellek
Önbelleğe alma, hem performansı hem de önceden derlenmiş komut dosyası talimatlarını depolayarak kararlılığı artırdığı için yaygın olarak kullanılan ve önemle tavsiye edilen bir yöntemdir.
OPcache en sık kullanılan çözümdür ve varsayılan olarak kullanılabilir durumdadır.
Otomatik yükleme
Otomatik yükleme, sınıflarla ilgili önceden derlenmiş bilgileri yükleyerek hem performansı hem de kararlılığı artırdığı için yaygın olarak kullanılır.
PHP istemci kitaplığı, otomatik yükleme için PSR-4'e uygundur ve tanımı composer.json
dosyasının bir parçası olarak sağlar. Composer'ın özel seçenekleri (ör. --optimize-autoloader
veya --classmap-authoritative
) bu durumda hazır olarak kullanılabilir.
Günlük Kaydı
Günlük kaydedicileri ERROR
gibi yüksek bir düzeye ayarlamak, yürütme süresi ek yükünü ve bellek tüketimini azaltmaya yardımcı olabilir.
Daha fazla bilgi için Günlük kaydı kılavuzuna bakın.
Hata ayıklama ve profil oluşturma
Genellikle yürütme süresiyle ilgili ek maliyetler getirdikleri için hata ayıklayıcı ve profilleyici araçlarını devre dışı bırakmanızı öneririz.
Önceden Yükle
PHP 7.4'ten beri, normal önbelleğe alma işleminden bir adım daha ileri giderek komut dosyalarını belleğe ön yüklemek için OPcache ön yükleme kullanılabilir.
Bir komut dosyasının bu özellikten yararlanacak şekilde tasarlanması gerekir ancak OPcache ön yüklemesinin genel bir şekilde uygulanması mümkün olmadığı ve bellek kullanımı ile performans kazancı arasındaki denge belirli bir projeye ve yürütmeye çok özgü olduğu için PHP istemci kitaplığı bu özelliği kullanmaz.