عملکرد

کتابخانه مشتری PHP تعامل با Google Ads API را با حداقل پیکربندی از جانب شما آسان می کند. با این حال، عملکرد بسیار به نحوه استفاده و یکپارچه سازی کتابخانه بستگی دارد.

اکثر این بهترین شیوه ها برای همه زبان ها قابل اجرا هستند. این راهنما به مواردی می پردازد که مختص PHP هستند.

پیاده سازی پروتوباف

Protobuf توسط gRPC و Google Ads API برای پیام‌های درخواست و پاسخ استفاده می‌شود. دو پیاده سازی در دسترس است، اگرچه یکی که در C نوشته شده است عملکرد بهتری دارد.

برای اطلاعات بیشتر به راهنمای Protobuf مراجعه کنید.

حالت عملکرد مفسر PHP

PHP یک زبان برنامه نویسی همه کاره است و بسته به استفاده دارای حالت های عملیاتی زیادی است. PHP CGI (رابط دروازه مشترک) مزیت قابل توجهی دارد زیرا می تواند منابع را بین اجراها به اشتراک بگذارد.

نسخه PHP

این تمرین خوب است که مرتباً به نسخه جدیدتر PHP ارتقا دهید زیرا معمولاً عملکرد کلی بهتری دارد. لیست نسخه های PHP پشتیبانی شده

نسخه های استفاده نشده Google Ads API

همه نسخه‌های کتابخانه مشتری از چندین نسخه API Google Ads پشتیبانی می‌کنند. برای هر نسخه از Google Ads API که توسط کتابخانه مشتری پشتیبانی می شود، بسته های اختصاصی برای نسخه وجود دارد.

بسته های اختصاص داده شده به نسخه هایی از Google Ads API که استفاده نمی شوند را می توان با خیال راحت از کتابخانه مشتری حذف کرد. از آنجایی که می تواند برای سرعت بخشیدن به اجرا یا کاهش ردپای حافظه مفید باشد، کتابخانه مشتری ابزارهایی را برای انجام آن به صورت برنامه ای فراهم می کند.

مثال

فرض کنید که در حال پیاده‌سازی کتابخانه مشتری هستید که فقط از آخرین نسخه API استفاده می‌کند: v18 ، و می‌خواهید پشتیبانی از نسخه‌های API استفاده نشده را حذف کنید: 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

خروجی اجرای نمونه زیر نشان دهنده کاهش 50M حجم فایل است و تنها نسخه پشتیبانی شده باقی مانده 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 ارائه می دهد. سپس گزینه‌های اختصاصی Composer مانند --optimize-autoloader یا --classmap-authoritative را می‌توان خارج از جعبه استفاده کرد.

ورود به سیستم

تنظیم لاگرها در سطح بالایی مانند ERROR می تواند به کاهش سربار زمان اجرا و مصرف حافظه کمک کند.

برای اطلاعات بیشتر به راهنمای ورود به سیستم مراجعه کنید.

اشکال زدایی و پروفایل

ما توصیه می‌کنیم ابزارهای اشکال‌زدا و نمایه‌ساز را غیرفعال کنید، زیرا معمولاً با مقداری زمان اجرا همراه هستند.

پیش بارگیری کنید

از زمان PHP 7.4، از پیش بارگذاری OPcache می توان برای بارگذاری اولیه اسکریپت ها در حافظه استفاده کرد که یک قدم فراتر از کش معمولی است.

یک اسکریپت باید برای استفاده از این ویژگی طراحی شود، اما کتابخانه کلاینت PHP این کار را نمی کند، زیرا هیچ روش عمومی برای اجرای پیش بارگذاری OPcache وجود ندارد، و مبادله بین استفاده از حافظه و افزایش عملکرد بسیار خاص یک پروژه خاص است. و اعدام