Client PHP idiomatique pour Google Cloud Platform Services.
| Version PHP | Statut |
|---|---|
Affichez la liste des API et services pris en charge.
Si vous avez besoin d'une prise en charge des autres API Google, veuillez consulter la bibliothèque client Google API pour PHP.
Nous vous recommandons d'installer des packages de composants individuels. Une liste des packages disponibles peut être disponible sur Packagist.
Par exemple:
$ composer require google/cloud-storage
$ composer require google/cloud-bigquery
$ composer require google/cloud-datastore Dans ce guide, nous nous concentrerons sur la façon de configurer votre client pour le développement local à l'aide de Google Cloud CLI ( gcloud ).
gcloud pour générer le fichier d'identification.Afin de générer notre fichier d'identification nécessaire, nous devons d'abord nous authentifier pour gcloud. L'installation est gérée différemment en fonction de votre plate-forme. Voici un lien pour vous aider à configurer la CLI de Google Cloud:
https://cloud.google.com/sdk/docs/install
gcloud Une fois les outils Google Cloud CLI installés, il est nécessaire que nous nous authentifiez via le gcloud :
$ gcloud init
$ gcloud auth application-default loginCela créera un fichier local dans votre système que la bibliothèque d'authentification de notre client lira afin de faire des demandes aux API avec ces informations d'identification. Ce fichier est situé à différents endroits en fonction de votre système.
Windows:
%APPDATA%gcloudapplication_default_credentials.json
Linux et macOS:
$HOME/.config/gcloud/application_default_credentials.json
Pour en savoir plus sur l'authentification, voir Authentication.md
Installez la bibliothèque client Google Translate avec Composer
composer install google/cloud-translateRemarque : Pour cet exemple, nous utilisons la bibliothèque client Google Translate. Consultez la liste complète des packages pour trouver votre bibliothèque requise.
Maintenant que nous avons authentifié et installé la bibliothèque client, nous pouvons instancier un client qui détectera le fichier JSON créé par la CLI Gcloud et l'utiliser pour authentifier vos demandes:
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"
// }Ce quickstart est construit en tenant compte du développement local. Les étapes de déploiement de votre projet sont différentes en fonction de l'environnement que vous utilisez. Ici, nous fournissons des instructions de base sur la façon de commencer le déploiement de votre projet:
Pour plus d'informations sur l'obtention des informations d'identification du compte de service, consultez notre guide d'authentification. Définissez la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS pointant vers votre fichier d'identification.
Certains clients acceptent les options de configuration keyFilePath et keyFile pointant vers le fichier d'identification:
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 )
]);Une liste de clients qui accepte ces paramètres sont:
Nous vous recommandons de visiter la documentation CHICK the Client pour la bibliothèque client que vous utilisez pour des informations plus approfondies.
Si vous ne souhaitez pas intégrer vos informations d'authentification dans votre code d'application, vous pouvez également utiliser les informations d'identification par défaut de l'application.
require ' vendor/autoload.php ' ;
use Google Cloud Storage StorageClient ;
putenv ( ' GOOGLE_APPLICATION_CREDENTIALS=/path/to/keyfile.json ' );
$ cloud = new StorageClient (); La variable d'environnement GOOGLE_APPLICATION_CREDENTIALS peut être définie dans la configuration de votre serveur.
Veuillez consulter notre guide de débogage pour plus d'informations sur les outils de débogage.
De nombreux clients de Google Cloud PHP offrent une prise en charge de GRPC, soit en option, soit comme exigence. GRPC est un framework RPC haute performance créé par Google. Pour utiliser GRPC dans PHP, vous devez installer l'extension GRPC PHP sur votre serveur. Bien qu'il ne soit pas nécessaire, il est également recommandé d'installer l'extension Protobuf chaque fois que l'utilisation de GRPC en production.
$ pecl install grpc
$ pecl install protobuf
Par défaut, la bibliothèque utilisera une simple implémentation de mise en cache en mémoire, mais il est possible de remplacer ce comportement en passant une implémentation de mise en cache PSR-6 au client souhaité.
L'exemple suivant tire parti du composant de cache de 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
]); Cette bibliothèque fournit une implémentation PSR-6 avec la mémoire partagée SystemV sur GoogleAuthCacheSysVCacheItemPool . Cette implémentation n'est disponible que sur les machines * Nix, mais c'est l'une des implémentations les plus rapides et vous pouvez partager le cache entre plusieurs processus. L'exemple suivant montre comment l'utiliser.
require __DIR__ . ' /vendor/autoload.php ' ;
use Google Cloud Spanner SpannerClient ;
use Google Auth Cache SysVCacheItemPool ;
$ cache = new SysVCacheItemPool ();
$ spanner = new SpannerClient ([
' authCache ' => $ cache
]);Toutes les bibliothèques de clients prennent en charge PHP 8.0 et plus.
Cette bibliothèque suit le versioning sémantique.
Veuillez noter qu'il est actuellement en cours de développement actif. Toute version versée 0.xy est soumise à des changements incompatibles en arrière à tout moment.
GA : Les bibliothèques définies à un niveau de qualité GA sont stables et n'introduiront pas les changements incompatibles à l'arrière dans les versions mineures ou patchs. Nous aborderons les problèmes et les demandes avec la priorité la plus élevée. Veuillez noter que pour tous les composants qui incluent les clients générés, la garantie GA ne s'appliquera qu'aux clients qui interagissent avec des services stables. Par exemple, dans un composant qui héberge les clients générés par V1 et V1BETA1, la garantie GA ne s'appliquera qu'au client V1 car le service avec lequel il interagit est considéré comme stable.
Beta : Les bibliothèques définies à un niveau de qualité bêta devraient être principalement stables et nous travaillons vers leur candidat à la libération. Nous aborderons les problèmes et les demandes avec une priorité plus élevée.
Les contributions à cette bibliothèque sont toujours les bienvenues et très encouragées.
Voir contribuer pour plus d'informations sur la façon de commencer.
Ce référentiel n'est pas un canal de support officiel. Si vous avez des questions d'assistance, déposez une demande d'assistance via les canaux de support Google normaux ou publiez des questions sur un forum tel que StackOverflow.
Apache 2.0 - Voir la licence pour plus d'informations.