تسهّل مكتبة برامج PHP التفاعلات مع Google Ads API بأقل قدر ممكن من الإعدادات من جانبك. ومع ذلك، يعتمد الأداء بشكل كبير على كيفية استخدام المكتبة ودمجها.
يمكن تطبيق معظم أفضل الممارسات هذه على جميع اللغات. يتناول هذا الدليل الأخطاء الخاصة بلغة PHP.
تنفيذ Protobuf
يتم استخدام Protobuf من قِبل gRPC وGoogle Ads API لرسائل الطلبات والردّ. يتوفّر تنفيذان ، إلا أنّ التنفيذ المكتوب بلغة C يحقّق أداءً أفضل.
اطّلِع على دليل Protobuf للحصول على مزيد من المعلومات.
وضع تشغيل مترجم PHP
لغة PHP هي لغة برمجة نصية متعددة الاستخدامات، وتتضمن العديد من أوضاع العمل حسب الاستخدام. تتمتع PHP CGI (واجهة بوابة عامة) بميزة ملحوظة لأنّها يمكنها مشاركة موارد بين عمليات التنفيذ.
إصدار PHP
من الممارسات الجيدة الترقية بانتظام إلى إصدار أحدث من PHP لأنّه عادةً ما يحقّق أداءً أفضل بشكل عام. قائمة بإصدارات PHP المتوافقة
إصدارات Google Ads API غير المستخدَمة
تتوافق جميع إصدارات مكتبة العميل مع إصدارات متعدّدة من Google Ads API. لكل إصدار من Google Ads API متوافق مع مكتبة العميل، تتوفّر حِزم مخصّصة للإصدار.
يمكن إزالة الحِزم المخصّصة لإصدارات Google Ads API غير المستخدَمة بأمان من مكتبة العميل. ولأنّه قد يكون من المفيد تسريع عملية المعالجة أو تقليل مساحة الذاكرة التي يشغلها التطبيق، توفّر مكتبة العميل أدوات برمجية لإجراء ذلك.
مثال
لنفترض أنّك بصدد تنفيذ مكتبة العميل التي تستخدم أحدث إصدار من
واجهة برمجة التطبيقات: v18
فقط، وتريد إزالة التوافق مع إصدارَي
واجهة برمجة التطبيقات غير المستخدَمين: v17
و
v16
.
في ملف 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 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
يشير ناتج التنفيذ النموذجي أدناه إلى تقليل حجم الملف إلى 50 ميغابايت، في حين أنّ الإصدار المتوافق الوحيد المتبقي هو V18
:
# 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
مرحلة التطوير مقابل مرحلة الإنتاج
لغة PHP هي لغة مُفسَّرة لأنّها تجمع التعليمات أولاً قبل تنفيذها. ويُعدّ ذلك عادةً مفيدًا لأنّ المصادر غالبًا ما تتغيّر أثناء وقت التطوير، في حين أنّ وقت تنفيذ الإجراء ليس مهمًا جدًا. في المقابل، يكون العكس صحيحًا في وقت الإنتاج، حيث يصبح ثبات الأداء هو الشاغل الرئيسي.
ذاكرة التخزين المؤقت
إنّ التخزين المؤقت شائع ويُنصح به بشدة لأنّه يُحسِّن الأداء ويزيد من الثبات من خلال تخزين تعليمات النصوص البرمجية المجمّعة مسبقًا.
OPcache هو الحل الأكثر استخدامًا ويتوفّر تلقائيًا.
إضافة الأموال تلقائيًا
يُستخدم التحميل التلقائي بشكل شائع لأنّه يُحسِّن الأداء ويزيد من الثبات من خلال تحميل معلومات مُجمَّعة مسبقًا عن الصفوف.
تتوافق مكتبة عملاء PHP مع PSR-4 لتحميل المحتوى تلقائيًا، وتقدّم التعريف كجزء من ملف composer.json
. يمكن بعد ذلك استخدام خيارات المنشئ المخصّصة، مثل
--optimize-autoloader
أو --classmap-authoritative
على سبيل المثال،
بدون أي إعدادات.
التسجيل
يساعد ضبط أدوات التسجيل على مستوى عالٍ مثل ERROR
في تقليل الوقت المستغرَق في التنفيذ واستهلاك الذاكرة.
اطّلِع على دليل التسجيل للحصول على مزيد من المعلومات.
تصحيح الأخطاء وتحليل الأداء
ننصحك بإيقاف أدوات تصحيح الأخطاء وأدوات تحليل الأداء لأنّها عادةً ما تؤدي إلى بعض التكاليف الإضافية في وقت التنفيذ.
التحميل المسبق
منذ PHP 7.4، يمكن استخدام تحميل OPcache المُسبَق لتحميل النصوص البرمجية مسبقًا في الذاكرة، ما يتجاوز ميزة التجميع العادي.
يجب تصميم نص برمجي للاستفادة من هذه الميزة، ولكن لا تستفيد مكتبة العميل PHP منها لأنّه لا تتوفّر طريقة عامة لتنفيذ التحميل المُسبَق لـ OPcache، ويكون مقياس الاستفادة من الذاكرة مقابل الأداء مرتبطًا بشكل كبير بمشروع وتنفيذ معيّنين.