عميل PHP Idiomatic لخدمات منصة Google Cloud.
| إصدار PHP | حالة |
|---|---|
عرض قائمة واجهات برمجة التطبيقات والخدمات المدعومة.
إذا كنت بحاجة إلى دعم لواجهة برمجة تطبيقات Google الأخرى ، فيرجى مراجعة مكتبة عملاء 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سيؤدي ذلك إلى إنشاء ملف محلي في نظامك التي ستقرأها مكتبة المصادقة لعميلنا من أجل تقديم طلبات إلى واجهات برمجة التطبيقات مع بيانات الاعتماد هذه. يقع هذا الملف في مكان مختلف اعتمادًا على نظامك.
Windows:
%APPDATA%gcloudapplication_default_credentials.json
Linux و MacOS:
$HOME/.config/gcloud/application_default_credentials.json
لقراءة المزيد حول المصادقة ، انظر المصادقة.
قم بتثبيت مكتبة العميل على ترجمة Google مع الملحن
composer install google/cloud-translateملاحظة : على هذا المثال ، نستخدم مكتبة العميل الترجمة على Google. تحقق من القائمة الكاملة للحزم للعثور على مكتبتك المطلوبة.
الآن وقد قمنا بتوثيق وتثبيت مكتبة العميل ، يمكننا إنشاء إنشاء عميل يكتشف ملف JSON الذي تم إنشاؤه بواسطة GCLOUD CLI واستخدامه لمصادقة طلباتك:
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 ، ولكنه واحد من أسرع التطبيقات ويمكنك مشاركة ذاكرة التخزين المؤقت بين العمليات المتعددة. يوضح المثال التالي كيفية استخدامه.
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 لأن الخدمة التي يتفاعل معها تعتبر مستقرة.
BETA : من المتوقع أن تكون المكتبات المحددة على مستوى جودة الإصدار التجريبي مستقرة في الغالب ونحن نعمل على مرشح إطلاق سراحها. سنعالج المشكلات والطلبات ذات الأولوية الأعلى.
المساهمات في هذه المكتبة هي دائما موضع ترحيب ومشجع للغاية.
انظر المساهمة لمزيد من المعلومات حول كيفية البدء.
هذا المستودع ليس قناة دعم رسمية. إذا كان لديك أسئلة دعم ، أو تقديم طلب دعم من خلال قنوات دعم Google العادية ، أو نشر أسئلة في منتدى مثل StackOverflow.
Apache 2.0 - انظر الترخيص لمزيد من المعلومات.