ไลบรารีของไคลเอ็นต์ PHP ช่วยให้การโต้ตอบกับ Google Ads API ง่ายขึ้นด้วยการกำหนดค่าที่น้อยที่สุดจากคุณ อย่างไรก็ตาม ประสิทธิภาพขึ้นอยู่กับวิธีใช้และผสานรวมไลบรารีเป็นอย่างมาก
แนวทางปฏิบัติแนะนำส่วนใหญ่ของ สิ่งเหล่านี้ ใช้ได้ กับทุกภาษา คู่มือนี้จะอธิบายแนวทางปฏิบัติแนะนำที่ใช้ได้กับ PHP โดยเฉพาะ
การใช้งาน Protobuf
Protobuf ใช้โดย gRPC และ Google Ads API สำหรับข้อความคำขอและข้อความตอบกลับ มี 2 การใช้งานให้เลือก แม้ว่าการใช้งานที่เขียนด้วยภาษา C จะมีประสิทธิภาพดีกว่า
ดูข้อมูลเพิ่มเติมได้ที่คู่มือ Protobuf
โหมดการทำงานของตัวแปลภาษา PHP
PHP เป็นภาษาการเขียนสคริปต์ ที่หลากหลายและมีโหมดการทำงาน มากมายขึ้นอยู่กับการใช้งาน PHP CGI (Common Gateway Interface) มีข้อได้เปรียบที่สำคัญเนื่องจากสามารถแชร์ทรัพยากรระหว่างการดำเนินการได้
เวอร์ชัน PHP
การอัปเกรดเป็น PHP เวอร์ชันใหม่เป็นประจำถือเป็นแนวทางปฏิบัติแนะนำ เนื่องจากโดยปกติแล้วเวอร์ชันใหม่จะมีประสิทธิภาพโดยรวมดีกว่า รายการเวอร์ชัน PHP ที่รองรับ
Google Ads API เวอร์ชันที่ไม่ได้ใช้
ไลบรารีของไคลเอ็นต์ทุกเวอร์ชันรองรับ Google Ads API หลายเวอร์ชัน Google Ads API แต่ละเวอร์ชันที่ไลบรารีของไคลเอ็นต์รองรับจะมีแพ็กเกจเฉพาะสำหรับเวอร์ชันนั้นๆ
คุณสามารถนำแพ็กเกจที่ใช้กับ Google Ads API เวอร์ชันที่ไม่ได้ใช้ออกจากไลบรารีของไคลเอ็นต์ได้อย่างปลอดภัย เนื่องจากอาจเป็นประโยชน์ในการเพิ่มความเร็วในการดำเนินการหรือลดหน่วยความจำที่ใช้ ไลบรารีของไคลเอ็นต์จึงมีเครื่องมือยูทิลิตีสำหรับการดำเนินการดังกล่าวแบบเป็นโปรแกรม
ตัวอย่าง
สมมติว่าคุณกำลังใช้งานไลบรารีของไคลเอ็นต์ที่ใช้เฉพาะ API เวอร์ชันล่าสุด v25 และต้องการนำการรองรับ API เวอร์ชันที่ไม่ได้ใช้ออก ได้แก่ 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
เอาต์พุตการดำเนินการตัวอย่างด้านล่างแสดงการลดขนาดไฟล์ 50M และเวอร์ชันที่รองรับที่เหลืออยู่คือ 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 preloading เพื่อโหลดสคริปต์ล่วงหน้าในหน่วยความจำ ซึ่งเป็นขั้นตอนที่มากกว่าการ แคชปกติ
คุณต้องออกแบบสคริปต์ให้ใช้ประโยชน์จากฟีเจอร์นี้ แต่ไลบรารีของไคลเอ็นต์ PHP ไม่ได้ออกแบบไว้เนื่องจากไม่มีวิธีทั่วไปในการใช้งานการโหลดล่วงหน้าของ OPcache และการแลกเปลี่ยนระหว่างการใช้งานหน่วยความจำกับประสิทธิภาพที่เพิ่มขึ้นนั้นขึ้นอยู่กับโปรเจ็กต์และการดำเนินการที่เฉพาะเจาะจง