Idiomatic PHP Client สำหรับบริการแพลตฟอร์ม Google Cloud
| เวอร์ชัน PHP | สถานะ |
|---|---|
ดูรายการ API และบริการที่รองรับ
หากคุณต้องการการสนับสนุนสำหรับ Google API อื่น ๆ โปรดตรวจสอบไลบรารีไคลเอนต์ Google APIS สำหรับ PHP
เราขอแนะนำให้ติดตั้งแพ็คเกจส่วนประกอบแต่ละตัว รายการแพ็คเกจที่มีอยู่สามารถพบได้ใน Packagist
ตัวอย่างเช่น:
$ composer require google/cloud-storage
$ composer require google/cloud-bigquery
$ composer require google/cloud-datastore ในคู่มือนี้เราจะมุ่งเน้นไปที่วิธีการกำหนดค่าไคลเอนต์ของคุณสำหรับการพัฒนาในท้องถิ่นโดยใช้ Google Cloud CLI ( gcloud )
gcloud เพื่อสร้างไฟล์ข้อมูลรับรองเพื่อสร้างไฟล์ข้อมูลรับรองที่เราต้องการเราจำเป็นต้องตรวจสอบสิทธิ์ให้กับ GCloud ก่อน การติดตั้งได้รับการจัดการแตกต่างกันไปขึ้นอยู่กับแพลตฟอร์มของคุณ นี่คือลิงค์ที่จะช่วยคุณตั้งค่า Google Cloud CLI:
https://cloud.google.com/sdk/docs/install
gcloud เมื่อติดตั้งเครื่องมือ Google Cloud CLI แล้วจะต้องมีการตรวจสอบสิทธิ์ผ่าน gcloud :
$ gcloud init
$ gcloud auth application-default loginสิ่งนี้จะสร้างไฟล์ท้องถิ่นในระบบของคุณว่าไลบรารีการรับรองความถูกต้องสำหรับลูกค้าของเราจะอ่านเพื่อทำการร้องขอ APIs ด้วยข้อมูลประจำตัวเหล่านั้น ไฟล์นี้อยู่ในสถานที่ที่แตกต่างกันขึ้นอยู่กับระบบของคุณ
Windows:
%APPDATA%gcloudapplication_default_credentials.json
Linux และ MacOS:
$HOME/.config/gcloud/application_default_credentials.json
หากต้องการอ่านเพิ่มเติมเกี่ยวกับการรับรองความถูกต้องดู Authentication.md
ติดตั้งไลบรารีไคลเอ็นต์ Google Translate ด้วยนักแต่งเพลง
composer install google/cloud-translateหมายเหตุ : สำหรับตัวอย่างนี้เรากำลังใช้ไลบรารีไคลเอนต์ Google Translate ตรวจสอบรายการแพ็คเกจที่สมบูรณ์เพื่อค้นหาไลบรารีที่คุณต้องการ
ตอนนี้เราได้รับรองความถูกต้องและติดตั้งไลบรารีไคลเอน
require_once ' vendor/autoload.php ' ;
use Google Cloud Translate V3 Client TranslationServiceClient ;
use Google Cloud Translate V3 TranslateTextRequest ;
// Instantiating the client gathers the credentials from the `application_default_credentials.json`
$ client = new TranslationServiceClient ([]);
$ request = new TranslateTextRequest ();
$ request -> setParent ( ' projects/<YOUR_PROJECT_ID> ' );
$ request -> setTargetLanguageCode ( ' en-US ' );
$ request -> setContents ([ 'こんにちは' ]);
// The request will contain the authentication token based on the default credentials file
$ response = $ client -> translateText ( $ request );
var_dump ( $ response -> getTranslations ()[ 0 ]);
// {
// [ "translatedText" ] = >
// string ( 5 ) "Hello"
// [ "detectedLanguageCode" ] = >
// string ( 2 ) "ja"
// }Quickstart นี้สร้างขึ้นโดยคำนึงถึงการพัฒนาในท้องถิ่น ขั้นตอนสำหรับการปรับใช้โครงการของคุณนั้นแตกต่างกันไปขึ้นอยู่กับสภาพแวดล้อมที่คุณใช้ ที่นี่เราให้คำแนะนำพื้นฐานเกี่ยวกับวิธีเริ่มต้นใช้งานการปรับใช้โครงการของคุณ:
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการได้รับข้อมูลรับรองบัญชีบริการดูคู่มือการตรวจสอบความถูกต้องของเรา ตั้งค่าตัวแปรสภาพแวดล้อม GOOGLE_APPLICATION_CREDENTIALS ชี้ไปที่ไฟล์ข้อมูลรับรองของคุณ
ลูกค้าบางรายยอมรับตัวเลือกการกำหนดค่า keyFilePath และ keyFile ที่ชี้ไปที่ไฟล์ข้อมูลรับรอง:
require ' vendor/autoload.php ' ;
use Google Cloud Storage StorageClient ;
// Authenticate using a keyfile path
$ cloud = new StorageClient ([
' keyFilePath ' => ' path/to/keyfile.json '
]);
// Authenticate using keyfile data
$ cloud = new StorageClient ([
' keyFile ' => json_decode ( file_get_contents ( ' /path/to/keyfile.json ' ), true )
]);รายการลูกค้าที่ยอมรับพารามิเตอร์เหล่านี้คือ:
เราขอแนะนำให้เยี่ยมชมเอกสารตรวจสอบลูกค้าสำหรับไลบรารีลูกค้าที่คุณใช้สำหรับข้อมูลเชิงลึกเพิ่มเติม
หากคุณไม่ต้องการฝังข้อมูลการรับรองความถูกต้องในรหัสแอปพลิเคชันของคุณคุณอาจใช้ประโยชน์จากข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน
require ' vendor/autoload.php ' ;
use Google Cloud Storage StorageClient ;
putenv ( ' GOOGLE_APPLICATION_CREDENTIALS=/path/to/keyfile.json ' );
$ cloud = new StorageClient (); ตัวแปรสภาพแวดล้อม GOOGLE_APPLICATION_CREDENTIALS อาจถูกตั้งค่าในการกำหนดค่าเซิร์ฟเวอร์ของคุณ
โปรดดูคู่มือการดีบักของเราสำหรับข้อมูลเพิ่มเติมเกี่ยวกับเครื่องมือการดีบัก
ลูกค้าจำนวนมากใน Google Cloud PHP ให้การสนับสนุน GRPC ไม่ว่าจะเป็นตัวเลือกหรือข้อกำหนด GRPC เป็นเฟรมเวิร์ก RPC ที่มีประสิทธิภาพสูงที่สร้างโดย Google ในการใช้ GRPC ใน PHP คุณต้องติดตั้งส่วนขยาย GRPC PHP บนเซิร์ฟเวอร์ของคุณ ในขณะที่ไม่จำเป็นขอแนะนำให้คุณติดตั้งส่วนขยาย protobuf เมื่อใดก็ตามที่ใช้ GRPC ในการผลิต
$ pecl install grpc
$ pecl install protobuf
โดยค่าเริ่มต้นห้องสมุดจะใช้การใช้งานแคชในหน่วยความจำที่เรียบง่ายอย่างไรก็ตามเป็นไปได้ที่จะแทนที่พฤติกรรมนี้โดยผ่านการใช้งานการแคช PSR-6 ในลูกค้าที่ต้องการ
ตัวอย่างต่อไปนี้ใช้ประโยชน์จากองค์ประกอบแคชของ Symfony
require ' vendor/autoload.php ' ;
use Google Cloud Storage StorageClient ;
use Symfony Component Cache Adapter ArrayAdapter ;
// Please take the proper precautions when storing your access tokens in a cache no matter the implementation .
$ cache = new ArrayAdapter ();
$ storage = new StorageClient ([
' authCache ' => $ cache
]); ไลบรารีนี้มีการใช้งาน PSR-6 ด้วยหน่วยความจำที่ใช้ร่วมกัน SystemV ที่ GoogleAuthCacheSysVCacheItemPool การใช้งานนี้มีเฉพาะใน *Nix Machines เท่านั้น แต่เป็นหนึ่งในการใช้งานที่เร็วที่สุดและคุณสามารถแบ่งปันแคชระหว่างกระบวนการหลายกระบวนการ ตัวอย่างต่อไปนี้แสดงวิธีใช้
require __DIR__ . ' /vendor/autoload.php ' ;
use Google Cloud Spanner SpannerClient ;
use Google Auth Cache SysVCacheItemPool ;
$ cache = new SysVCacheItemPool ();
$ spanner = new SpannerClient ([
' authCache ' => $ cache
]);ไลบรารีไคลเอนต์ทั้งหมดรองรับ PHP 8.0 ขึ้นไป
ห้องสมุดนี้เป็นไปตามเวอร์ชันความหมาย
โปรดทราบว่าขณะนี้อยู่ระหว่างการพัฒนาที่ใช้งานอยู่ รุ่นที่มีรุ่น 0.xy อาจมีการเปลี่ยนแปลงที่เข้ากันไม่ได้เมื่อใดก็ได้
GA : ห้องสมุดที่กำหนดไว้ในระดับคุณภาพ GA นั้นมีความเสถียรและจะไม่แนะนำการเปลี่ยนแปลงที่ไม่เข้ากันมาย้อนหลังในรุ่นรองหรือแพทช์ใด ๆ เราจะแก้ไขปัญหาและคำขอที่มีความสำคัญสูงสุด โปรดทราบว่าสำหรับส่วนประกอบใด ๆ ที่รวมถึงลูกค้าที่สร้างขึ้นการรับประกัน GA จะใช้กับลูกค้าที่โต้ตอบกับบริการที่มั่นคงเท่านั้น ตัวอย่างเช่นในส่วนประกอบที่โฮสต์ไคลเอนต์ V1 และ V1BETA1 ที่สร้างขึ้นการรับประกัน GA จะใช้กับไคลเอนต์ V1 เท่านั้นเนื่องจากบริการที่มีการโต้ตอบด้วยถือว่ามีเสถียรภาพ
เบต้า : ห้องสมุดที่กำหนดไว้ในระดับคุณภาพเบต้าคาดว่าส่วนใหญ่จะมีเสถียรภาพและเรากำลังทำงานเพื่อผู้สมัครที่วางจำหน่าย เราจะแก้ไขปัญหาและคำขอที่มีลำดับความสำคัญสูงกว่า
การมีส่วนร่วมในห้องสมุดนี้ยินดีต้อนรับและได้รับการสนับสนุนอย่างสูง
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการเริ่มต้น
ที่เก็บนี้ไม่ใช่ช่องทางการสนับสนุนอย่างเป็นทางการ หากคุณมีคำถามสนับสนุนให้ยื่นคำขอสนับสนุนผ่านช่องทางสนับสนุน Google ปกติหรือโพสต์คำถามในฟอรัมเช่น StackoverFlow
Apache 2.0 - ดูใบอนุญาตสำหรับข้อมูลเพิ่มเติม