تسهّل مكتبة عميل PHP التفاعلات مع Google Ads API بأقل إعداد من جانبك. ومع ذلك، يعتمد الأداء بشكل كبير على كيفية استخدام المكتبة ودمجها.
تنطبق معظم أفضل الممارسات هذه على جميع اللغات. ويتناول هذا الدليل الممارسات الخاصة بلغة PHP.
تنفيذ Protobuf
يستخدم gRPC وGoogle Ads API تنسيق Protobuf لرسائل الطلبات والردود. يتوفّر تنفيذان، ولكنّ التنفيذ المكتوب بلغة C يحقّق أداءً أفضل.
يمكنك الاطّلاع على دليل Protobuf لمزيد من المعلومات.
وضع تشغيل مفسّر PHP
PHP هي لغة برمجة نصية متعددة الاستخدامات ولها أوضاع تشغيل عديدة حسب الاستخدام. تتميّز واجهة CGI (واجهة البوابة الشائعة) في PHP بميزة ملحوظة لأنّها يمكنها مشاركة الموارد بين عمليات التنفيذ.
إصدار PHP
من أفضل الممارسات الترقية بانتظام إلى إصدار أحدث من PHP لأنّه عادةً ما يحسّن الأداء العام. قائمة بإصدارات PHP المتوافقة.
إصدارات Google Ads API غير المستخدَمة
تتوافق جميع إصدارات مكتبة العميل مع إصدارات متعدّدة من Google Ads API. لكل إصدار من Google Ads API متوافق مع مكتبة العميل، تتوفّر حِزم مخصّصة للإصدار.
يمكن إزالة الحِزم المخصّصة لإصدارات Google Ads API غير المستخدَمة بأمان من مكتبة العميل. بما أنّه قد يكون من المفيد تسريع التنفيذ أو تقليل استهلاك الذاكرة، توفّر مكتبة العميل أدوات للقيام بذلك آليًا.
مثال
لنفترض أنّك تنفّذ مكتبة العميل التي تستخدم أحدث
إصدار من واجهة برمجة التطبيقات فقط: v25، وتريد إزالة الدعم لإصدارات واجهة برمجة التطبيقات غير المستخدَمة: v24 و
v23.
في ملف composer.json الخاص بالمشروع، حدِّد نصًا برمجيًا لـ Composer (يُسمى
remove-google-ads-api-version-support) يستفيد من الأداة التي توفّرها
مكتبة العميل في الفئة
ApiVersionSupport:
"scripts": {
"remove-google-ads-api-version-support": [
"Google\\Ads\\GoogleAds\\Util\\ApiVersionSupport::remove"
]
}
بعد ذلك، استخدِم النص البرمجي لـ Composer مع أرقام الإصدارات كمعلّمات واطبع بعض رسائل الحالة:
# 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 v23 and v24 of the Google Ads API.
echo "# Removing support..."
composer run-script remove-google-ads-api-version-support -- 23 24
# 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
يشير نموذج ناتج التنفيذ أدناه إلى انخفاض حجم الملف بمقدار 50 ميغابايت وأنّ الإص101}الإصدار المتوافق الوحيد المتبقي هو V25:
# Supported Google Ads API versions:
V23
V24
V25
# Vendor folder size:
110M ./vendor
# Removing support...
> Google\Ads\GoogleAds\Util\ApiVersionSupport::remove
Removing support for the version 23 of Google Ads API...
Done
Removing support for the version 24 of Google Ads API...
Done
# Supported Google Ads API versions:
V25
# Vendor folder size:
60M ./vendor
التطوير مقابل الإنتاج
PHP هي لغة مفسَّرة ، بمعنى أنّها تُجمِّع التعليمات أولاً قبل تنفيذها. يكون هذا عادةً مفيدًا لأنّه أثناء وقت التطوير، تتغيّر المصادر غالبًا بينما لا يكون وقت التنفيذ مهمًا جدًا. ومع ذلك، يكون العكس صحيحًا في وقت الإنتاج لأنّ الثبات والأداء يصبحان الشغل الشاغل.
ذاكرة التخزين المؤقت
يُعدّ التخزين المؤقت شائعًا وننصح به بشدة لأنّه يحسّن الأداء ويزيد الثبات من خلال تخزين تعليمات النصوص البرمجية التي تم تجميعها مسبقًا.
OPcache هو الحل الأكثر استخدامًا ويتوفّر تلقائيًا.
إضافة الرصيد تلقائيًا
تُعدّ إضافة الأموال تلقائيًا شائعة لأنّها تحسّن الأداء وتزيد الثبات من خلال تحميل المعلومات التي تم تجميعها مسبقًا عن الفئات.
تتوافق مكتبة عميل PHP مع PSR-4 لإضافة الأموال تلقائيًا وتوفّر التعريف كجزء من composer.jsonملف. يمكن بعد ذلك استخدام خيارات Composer المخصّصة، مثل
--optimize-autoloader أو --classmap-authoritative، بدون أي تعديل.
التسجيل
يمكن أن يساعد ضبط أدوات التسجيل على مستوى عالٍ، مثل ERROR، في تقليل النفقات العامة لوقت التنفيذ واستهلاك الذاكرة.
يمكنك الاطّلاع على دليل التسجيل لمزيد من المعلومات.
تصحيح الأخطاء ووضع الملف الشخصي
ننصح بإيقاف أدوات تصحيح الأخطاء ووضع الملف الشخصي لأنّها عادةً ما تتسبب في بعض النفقات العامة لوقت التنفيذ.
التحميل المسبق
اعتبارًا من PHP 7.4، يمكن استخدام التحميل المسبق لـ OPcache لتحميل النصوص البرمجية مسبقًا في الذاكرة، ما يمثل خطوة إضافية مقارنةً بالتخزين المؤقت العادي.
يجب تصميم نص برمجي للاستفادة من هذه الميزة، ولكنّ مكتبة عميل PHP لا تفعل ذلك لأنّه لا توجد طريقة عامة لتنفيذ التحميل المسبق لـ OPcache، كما أنّ المفاضلة بين استخدام الذاكرة وتحسين الأداء خاصة جدًا بمشروع وتنفيذ معيّنين.