Idiomatischer PHP -Client für Google Cloud -Plattformdienste.
| PHP -Version | Status |
|---|---|
Sehen Sie sich die Liste der unterstützten APIs und Dienste an.
Wenn Sie Unterstützung für andere Google -APIs benötigen, lesen Sie bitte die Google APIS -Client -Bibliothek für PHP.
Wir empfehlen, einzelne Komponentenpakete zu installieren. Eine Liste der verfügbaren Pakete finden Sie auf Packagisten.
Zum Beispiel:
$ composer require google/cloud-storage
$ composer require google/cloud-bigquery
$ composer require google/cloud-datastore In diesem Handbuch konzentrieren wir uns darauf, wie Sie Ihren Client für die lokale Entwicklung mithilfe der Google Cloud CLI ( gcloud ) konfigurieren.
gcloud , um die Datei für Anmeldeinformationen zu generieren.Um unsere erforderliche Anmeldeinformationen zu generieren, müssen wir zuerst authentifizieren, um GCloud zu gründen. Die Installation wird je nach Plattform unterschiedlich behandelt. Hier ist ein Link, mit dem Sie die Google Cloud CLI einrichten können:
https://cloud.google.com/sdk/docs/install
gcloud authentifizieren Sobald die Google Cloud -CLI -Tools installiert sind, ist es erforderlich, dass wir über die gcloud authentifizieren:
$ gcloud init
$ gcloud auth application-default loginDadurch wird eine lokale Datei in Ihrem System erstellt, die die Authentifizierungsbibliothek für unseren Kunden liest, um Anfragen an die APIs mit diesen Anmeldeinformationen zu stellen. Diese Datei befindet sich je nach System an einem anderen Ort.
Fenster:
%APPDATA%gcloudapplication_default_credentials.json
Linux und MacOS:
$HOME/.config/gcloud/application_default_credentials.json
Weitere Informationen zur Authentifizierung finden Sie unter Authentifizierung.md
Installieren Sie die Google Translate Client Library mit Composer
composer install google/cloud-translateHinweis : In diesem Beispiel verwenden wir die Google Translate Client Library. Überprüfen Sie die vollständige Liste der Pakete, um die erforderliche Bibliothek zu finden.
Nachdem wir die Client -Bibliothek authentifiziert und installiert haben, können wir einen Client instanziieren, der die von der GCLOUD -CLI erstellte JSON -Datei erfasst und diese zur Authentifizierung Ihrer Anfragen verwenden:
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"
// }Dieser QuickStart ist im Hinblick auf die lokale Entwicklung gebaut. Die Schritte zum Bereitstellen Ihres Projekts unterscheiden sich je nach Umgebung, die Sie verwenden. Hier geben wir einige grundlegende Anweisungen zum Einstieg mit der Bereitstellung Ihres Projekts:
Weitere Informationen zum Erhalt von Service -Account -Anmeldeinformationen finden Sie in unserem Authentifizierungshandbuch. Setzen Sie die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS , die auf Ihre Anmeldeinformationen hinweisen.
Einige Clients akzeptieren die keyFilePath und keyFile -Konfigurationsoptionen, die auf die Datei "Anmeldeinformationen" hinweisen:
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 )
]);Eine Liste von Clients, die diese Parameter akzeptieren, lautet:
Wir empfehlen, die Client -Dokumentation für die Kundenbibliothek zu überprüfen, die Sie verwenden, um mehr Informationen zu erhalten.
Wenn Sie Ihre Authentifizierungsinformationen nicht in Ihren Anwendungscode einbetten möchten, können Sie auch Anwendungsausfallanmeldeinformationen verwenden.
require ' vendor/autoload.php ' ;
use Google Cloud Storage StorageClient ;
putenv ( ' GOOGLE_APPLICATION_CREDENTIALS=/path/to/keyfile.json ' );
$ cloud = new StorageClient (); Die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS kann in Ihrer Serverkonfiguration festgelegt werden.
Weitere Informationen zu den Debugging -Tools finden Sie in unserem Debugging -Leitfaden.
Viele Clients in Google Cloud PHP bieten Unterstützung für GRPC, entweder als Option oder als Anforderung. GRPC ist ein Hochleistungs-RPC-Framework von Google. Um GRPC in PHP zu verwenden, müssen Sie die GRPC -PHP -Erweiterung auf Ihrem Server installieren. Obwohl nicht erforderlich ist, wird auch empfohlen, die Protobuf -Erweiterung bei der Verwendung von GRPC in der Produktion zu installieren.
$ pecl install grpc
$ pecl install protobuf
Standardmäßig wird die Bibliothek eine einfache Implementierung in der Zwischenzeit verwenden. Es ist jedoch möglich, dieses Verhalten zu überschreiben, indem eine PSR-6-Caching-Implementierung an den gewünschten Client weitergegeben wird.
Das folgende Beispiel nutzt die Cache -Komponente von 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
]); Diese Bibliothek bietet eine PSR-6-Implementierung mit dem Shared-Speicher von SystemV unter GoogleAuthCacheSysVCacheItemPool . Diese Implementierung ist nur auf *Nix -Maschinen verfügbar, ist jedoch eine der schnellsten Implementierungen, und Sie können den Cache zwischen mehreren Prozessen teilen. Das folgende Beispiel zeigt, wie es verwendet wird.
require __DIR__ . ' /vendor/autoload.php ' ;
use Google Cloud Spanner SpannerClient ;
use Google Auth Cache SysVCacheItemPool ;
$ cache = new SysVCacheItemPool ();
$ spanner = new SpannerClient ([
' authCache ' => $ cache
]);Alle Client -Bibliotheken unterstützen PHP 8.0 und höher.
Diese Bibliothek folgt der semantischen Versionierung.
Bitte beachten Sie, dass es derzeit in aktiver Entwicklung steht. Jede Version von Versionen 0.xy unterliegt jederzeit nach rückwärtskompatiblen Änderungen.
GA : Bibliotheken, die auf der Qualität der GA definiert sind, sind stabil und führen keine rückwärts-kompatiblen Änderungen in kleinen oder Patch-Releases vor. Wir werden Probleme und Anfragen mit höchster Priorität angehen. Bitte beachten Sie, dass die GA -Garantie für Kunden, die generierte Kunden enthalten, nur für Kunden gilt, die mit stabilen Diensten interagieren. Beispielsweise gilt die GA -Garantie in einer Komponente, in der V1 und V1BETA1 erzeugt werden, nur für den V1 -Client, mit dem der Service, mit dem sie interagiert, als stabil angesehen wird.
BETA : Es wird erwartet, dass Bibliotheken auf Beta -Qualitätsniveau größtenteils stabil sind, und wir arbeiten auf ihren Freigabekandidaten. Wir werden Probleme und Anfragen mit einer höheren Priorität angehen.
Beiträge zu dieser Bibliothek sind immer willkommen und sehr gefördert.
Weitere Informationen zum Einstieg zum Einstieg finden Sie unter der Ausführung.
Dieses Repository ist kein offizieller Support -Kanal. Wenn Sie Supportfragen haben, stellen Sie eine Support -Anfrage über die normalen Google Support -Kanäle ein oder veröffentlichen Sie Fragen in einem Forum wie Stackoverflow.
Apache 2.0 - Weitere Informationen finden Sie unter Lizenz.