PHP ক্লায়েন্ট লাইব্রেরি আপনার পক্ষ থেকে ন্যূনতম কনফিগারেশনের মাধ্যমে Google Ads API এর সাথে ইন্টারঅ্যাকশন সহজ করে। তবে, কর্মক্ষমতা লাইব্রেরিটি কীভাবে ব্যবহৃত এবং সংহত করা হয়েছে তার উপর নির্ভর করে।
এই সেরা অনুশীলনগুলির বেশিরভাগই সকল ভাষার জন্য প্রযোজ্য। এই নির্দেশিকাটি PHP-এর জন্য নির্দিষ্ট কিছু পদ্ধতি সম্পর্কে আলোচনা করবে।
প্রোটোবুফ বাস্তবায়ন
অনুরোধ এবং প্রতিক্রিয়া বার্তার জন্য gRPC এবং Google Ads API দ্বারা Protobuf ব্যবহার করা হয়। দুটি বাস্তবায়ন উপলব্ধ, যদিও C তে লেখাটির কার্যকারিতা আরও ভালো।
আরও তথ্যের জন্য প্রোটোবুফ গাইড দেখুন।
পিএইচপি ইন্টারপ্রেটারের অপারেশন মোড
পিএইচপি একটি বহুমুখী স্ক্রিপ্টিং ভাষা এবং ব্যবহারের উপর নির্ভর করে এর অনেকগুলি অপারেশন মোড রয়েছে। পিএইচপি সিজিআই (কমন গেটওয়ে ইন্টারফেস) এর একটি উল্লেখযোগ্য সুবিধা রয়েছে কারণ এটি এক্সিকিউশনের মধ্যে রিসোর্স ভাগ করে নিতে পারে।
পিএইচপি সংস্করণ
নিয়মিতভাবে নতুন PHP সংস্করণে আপগ্রেড করা ভালো কারণ এটি সাধারণত উন্নত সামগ্রিক কর্মক্ষমতা প্রদান করে। সমর্থিত PHP সংস্করণের তালিকা ।
অব্যবহৃত Google বিজ্ঞাপন API ভার্সন
ক্লায়েন্ট লাইব্রেরির সকল সংস্করণ একাধিক Google Ads API সংস্করণ সমর্থন করে। ক্লায়েন্ট লাইব্রেরি দ্বারা সমর্থিত Google Ads API-এর প্রতিটি সংস্করণের জন্য, সংস্করণের জন্য নির্দিষ্ট প্যাকেজ রয়েছে।
Google Ads API-এর যেসব সংস্করণ ব্যবহার করা হয় না, সেগুলি ক্লায়েন্ট লাইব্রেরি থেকে নিরাপদে সরানো যেতে পারে। যেহেতু এটি কার্যকরকরণ দ্রুত করতে বা মেমরি ফুটপ্রিন্ট কমাতে কার্যকর হতে পারে, তাই ক্লায়েন্ট লাইব্রেরি প্রোগ্রাম্যাটিকভাবে এটি করার জন্য ইউটিলিটি সরবরাহ করে।
উদাহরণ
ধরুন আপনি এমন একটি ক্লায়েন্ট লাইব্রেরি বাস্তবায়ন করছেন যা শুধুমাত্র সর্বশেষ API সংস্করণ: v23 ব্যবহার করছে, এবং আপনি অব্যবহৃত API সংস্করণ: v22 এবং v21 এর জন্য সমর্থন সরাতে চান।
প্রকল্পের composer.json ফাইলে, একটি Composer স্ক্রিপ্ট (যার নাম remove-google-ads-api-version-support ) সংজ্ঞায়িত করুন যা ক্লায়েন্ট লাইব্রেরি দ্বারা প্রদত্ত ইউটিলিটি ব্যবহার করে, ApiVersionSupport ক্লাসে:
"scripts": {
"remove-google-ads-api-version-support": [
"Google\\Ads\\GoogleAds\\Util\\ApiVersionSupport::remove"
]
}
তারপর, কম্পোজার স্ক্রিপ্টটি প্যারামিটার হিসেবে ভার্সন নম্বর সহ ব্যবহার করুন এবং কিছু স্ট্যাটাস বার্তা প্রিন্ট করুন:
# 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 v21 and v22 of the Google Ads API.
echo "# Removing support..."
composer run-script remove-google-ads-api-version-support -- 21 22
# 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 হ্রাস নির্দেশ করে এবং একমাত্র সমর্থিত সংস্করণ হল V23 :
# Supported Google Ads API versions:
V21
V22
V23
# Vendor folder size:
110M ./vendor
# Removing support...
> Google\Ads\GoogleAds\Util\ApiVersionSupport::remove
Removing support for the version 21 of Google Ads API...
Done
Removing support for the version 22 of Google Ads API...
Done
# Supported Google Ads API versions:
V23
# Vendor folder size:
60M ./vendor
উন্নয়ন বনাম উৎপাদন
পিএইচপি একটি ব্যাখ্যামূলক ভাষা, কারণ এটি প্রথমে নির্দেশাবলী সংকলন করে এবং তারপর সেগুলি কার্যকর করে। এটি সাধারণত সুবিধাজনক কারণ ডেভেলপমেন্টের সময়, উৎসগুলি প্রায়শই পরিবর্তিত হয় যখন কার্যকর করার সময়টি খুব গুরুত্বপূর্ণ নয়। তবে, উৎপাদনের সময় বিপরীতটি সত্য কারণ স্থিতিশীলতা এবং কর্মক্ষমতা প্রধান উদ্বেগ হয়ে ওঠে।
ক্যাশে
ক্যাশিং সাধারণ এবং অত্যন্ত সুপারিশকৃত কারণ এটি পূর্ব-সংকলিত স্ক্রিপ্ট নির্দেশাবলী সংরক্ষণ করে কর্মক্ষমতা উন্নত করে এবং স্থিতিশীলতা বৃদ্ধি করে।
OPcache হল সবচেয়ে বেশি ব্যবহৃত সমাধান এবং এটি ডিফল্টরূপে উপলব্ধ।
অটোলোড
অটোলোড সাধারণ কারণ এটি ক্লাস সম্পর্কে পূর্ব-সংকলিত তথ্য লোড করে কর্মক্ষমতা উন্নত করে এবং স্থিতিশীলতা বৃদ্ধি করে।
পিএইচপি ক্লায়েন্ট লাইব্রেরি অটোলোডিংয়ের জন্য PSR-4 এর সাথে সামঞ্জস্যপূর্ণ এবং composer.json ফাইলের অংশ হিসাবে সংজ্ঞা প্রদান করে। Composer এর ডেডিকেটেড বিকল্পগুলি, যেমন --optimize-autoloader অথবা --classmap-authoritative , তারপর বাক্সের বাইরে ব্যবহার করা যেতে পারে।
লগিং
লগারগুলিকে ERROR মতো উচ্চ স্তরে সেট করলে এক্সিকিউশনের সময় এবং মেমরি খরচ কমাতে সাহায্য করতে পারে।
আরও তথ্যের জন্য লগিং নির্দেশিকা দেখুন।
ডিবাগিং এবং প্রোফাইলিং
আমরা ডিবাগার এবং প্রোফাইলার টুলগুলি অক্ষম করার পরামর্শ দিচ্ছি কারণ এগুলিতে সাধারণত কিছু কার্যকর সময় থাকে।
প্রিলোড
PHP 7.4 থেকে, OPcache প্রিলোডিং মেমরিতে স্ক্রিপ্ট প্রিলোড করার জন্য ব্যবহার করা যেতে পারে, যা নিয়মিত ক্যাশিংয়ের চেয়ে এক ধাপ এগিয়ে।
এই বৈশিষ্ট্যটির সুবিধা নেওয়ার জন্য একটি স্ক্রিপ্ট ডিজাইন করতে হবে, কিন্তু PHP ক্লায়েন্ট লাইব্রেরি তা করে না কারণ OPcache প্রিলোডিং বাস্তবায়নের কোন জেনেরিক উপায় নেই, এবং মেমরি ব্যবহার এবং কর্মক্ষমতা বৃদ্ধির মধ্যে ট্রেড-অফ একটি নির্দিষ্ট প্রকল্প এবং বাস্তবায়নের জন্য অত্যন্ত নির্দিষ্ট।