Die PHP-Clientbibliothek erleichtert die Interaktion mit der Google Ads API mit minimalen Konfiguration Ihrerseits. Die Leistung hängt jedoch stark davon ab, verwendet und integriert ist.
Die meisten dieser Best Practices treffen auf in alle Sprachen. In diesem Leitfaden werden diejenigen behandelt, die für PHP spezifisch sind.
Protobuf-Implementierung
Protobuf wird von gRPC verwendet und die Google Ads API für Anfrage- und Antwortnachrichten. Zwei Implementierungen verfügbar ist, auch wenn die in C geschriebene die bessere Leistung bietet.
Weitere Informationen finden Sie im Protobuf-Leitfaden.
Betriebsmodus des PHP-Interpreters
PHP ist ein vielseitiges Scripting Sprache und viele Vorgänge Modi, abhängig von der Nutzung. PHP CGI (Common Gateway Interface) hat einen großen Vorteil, da es zwischen den Ausführungen.
PHP-Version
Es empfiehlt sich, regelmäßig auf eine neuere PHP-Version zu aktualisieren. zu einer besseren Gesamtleistung. Liste der unterstützten PHP- Versionen
Nicht verwendete Google Ads API-Versionen
Alle Versionen der Clientbibliothek unterstützen mehrere Google Ads API-Versionen. Für jede Version der Google Ads API, die von der Clientbibliothek unterstützt wird, sind spezielle Pakete für die Version.
Die Pakete, die für nicht verwendete Google Ads API-Versionen vorgesehen sind, können sicher aus der Clientbibliothek entfernt. Da es hilfreich sein kann, die oder die Speicherauslastung reduzieren, bietet die Clientbibliothek Dienstprogramme, können Sie dies programmatisch tun.
Beispiel
Angenommen, Sie implementieren die Clientbibliothek, die nur die neueste
API-Version v17
und Sie möchten die Unterstützung für die nicht verwendete API-Version entfernen.
API-Versionen: v16
und
v15
Definieren Sie in der Datei composer.json
des Projekts ein Composer-Skript (namens
remove-google-ads-api-version-support
), die das von
in der Clientbibliothek in der Klasse
ApiVersionSupport
:
"scripts": {
"remove-google-ads-api-version-support": [
"Google\\Ads\\GoogleAds\\Util\\ApiVersionSupport::remove"
]
}
Verwenden Sie dann das Composer-Skript mit den Versionsnummern als Parameter und drucken Sie einige Statusmeldungen:
# 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 v15 and v16 of the Google Ads API.
echo "# Removing support..."
composer run-script remove-google-ads-api-version-support -- 15 16
# 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
Die Ausgabe der Beispielausführung zeigt eine Dateigrößenreduzierung um 50 MB und die
Die einzige verbleibende unterstützte Version ist V17
:
# Supported Google Ads API versions:
V15
V16
V17
# Vendor folder size:
110M ./vendor
# Removing support...
> Google\Ads\GoogleAds\Util\ApiVersionSupport::remove
Removing support for the version 15 of Google Ads API...
Done
Removing support for the version 16 of Google Ads API...
Done
# Supported Google Ads API versions:
V17
# Vendor folder size:
60M ./vendor
Entwicklung vs. Produktion
PHP ist eine interpretierte Sprache. da er vor der Ausführung zuerst Anweisungen kompiliert. Dies ist normalerweise vorteilhaft, da sich Quellen während der Entwicklung häufig während der Ausführung ändern. Zeit ist nicht so wichtig. Das Gegenteil gilt jedoch zur Produktionszeit, da sind Stabilität und Leistung die wichtigsten Punkte.
Cache
Caching ist üblich und wird dringend empfohlen, da es beide die Leistung verbessert. und erhöht die Stabilität, indem vorkompilierte Skriptanweisungen gespeichert werden.
Am häufigsten wird OPcache verwendet. und ist standardmäßig verfügbar.
Automatisches Aufladen
Häufig verwendet das automatische Laden da es sowohl die Leistung verbessert als auch die Stabilität erhöht, wenn vorkompilierten Informationen über Klassen.
Die PHP-Clientbibliothek entspricht PSR-4 für
automatisch laden und die Definition als Teil des
composer.json
-Datei. Spezielle Optionen von Composer, z. B.
--optimize-autoloader
oder --classmap-authoritative
kann dann
standardmäßig verwendet werden.
Logging
Das Festlegen von Protokollierungen auf ein hohes Niveau wie ERROR
kann dabei helfen, die Ausführungszeit zu reduzieren
und Arbeitsspeicherverbrauch.
Weitere Informationen finden Sie im Leitfaden für die Protokollierung.
Fehlerbehebung und Profilerstellung
Wir empfehlen, die normalerweise im Lieferumfang enthaltenen Debugger- und Profiler-Tools zu deaktivieren. einen gewissen Ausführungszeitaufwand.
Vorab laden
Seit PHP 7.4 OPcache Vorabladen können Skripts vorab in den Arbeitsspeicher geladen werden, Caching.
Ein Skript muss entworfen werden, um diese Funktion nutzen zu können, aber der PHP-Code nicht, da es keine allgemeine Methode zur Implementierung von OPcache gibt. Vorabladen und der Ausgleich zwischen Arbeitsspeichernutzung und Leistungssteigerung spezifisch für ein bestimmtes Projekt und eine bestimmte Ausführung sein.