Google Cloud Php

Google Cloud Client Library for PHP
Alternatives To Google Cloud Php
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Rclone40,528352 hours ago263July 17, 2023912mitGo
"rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Yandex Files
Analytics16,185
37 minutes ago33agpl-3.0Elixir
Simple, open source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics.
Awesome Kubernetes14,249
14 days ago7otherShell
A curated list for awesome kubernetes sources :ship::tada:
Xg2xg13,360
11 hours ago49
by ex-googlers, for ex-googlers - a lookup table of similar tech & services
Functions Samples11,836
4 hours ago153apache-2.0JavaScript
Collection of sample apps showcasing popular use cases using Cloud Functions for Firebase
Infracost9,601
32 minutes ago144July 21, 2023157apache-2.0Go
Cloud cost estimates for Terraform in pull requests💰📉 Love your cloud bill!
Training Data Analyst7,018
7 days ago394apache-2.0Jupyter Notebook
Labs and demos for courses for GCP Training (http://cloud.google.com/training).
Python Docs Samples6,567
2 hours ago2May 24, 2021132apache-2.0Jupyter Notebook
Code samples used on cloud.google.com
Google Cloud Python4,3451232 days ago38August 03, 2023130apache-2.0Python
Google Cloud Client Library for Python
Apps Script Samples4,054
6 days ago47apache-2.0JavaScript
Apps Script samples for Google Workspace products.
Alternatives To Google Cloud Php
Select To Compare


Alternative Project Comparisons
Readme

Google Cloud PHP Client

Idiomatic PHP client for Google Cloud Platform services.

CI Status

PHP Version Status
PHP 7.4 Kokoro CI

Latest Stable Version Packagist

View the list of supported APIs and Services.

If you need support for other Google APIs, please check out the Google APIs Client Library for PHP.

Quick Start

We recommend installing individual component packages. A list of available packages can be found on Packagist.

For example:

$ composer require google/cloud-storage
$ composer require google/cloud-bigquery
$ composer require google/cloud-datastore

You can then include the autoloader and create your client:

require 'vendor/autoload.php';

use Google\Cloud\Storage\StorageClient;

$storage = new StorageClient();

$bucket = $storage->bucket('my_bucket');

// Upload a file to the bucket.
$bucket->upload(
    fopen('/data/file.txt', 'r')
);

// Download and store an object from the bucket locally.
$object = $bucket->object('file_backup.txt');
$object->downloadToFile('/data/file_backup.txt');

Authentication

Authentication is handled by the client library automatically. You just need to provide the authentication details when creating a client. Generally, authentication is accomplished using a Service Account. For more information on obtaining Service Account credentials, see our Authentication Guide.

Once you've obtained your credentials file, it may be used to create an authenticated client.

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)
]);

If you do not wish to embed your authentication information in your application code, you may also make use of Application Default Credentials.

require 'vendor/autoload.php';

use Google\Cloud\Storage\StorageClient;

putenv('GOOGLE_APPLICATION_CREDENTIALS=/path/to/keyfile.json');

$cloud = new StorageClient();

The GOOGLE_APPLICATION_CREDENTIALS environment variable may be set in your server configuration.

gRPC and Protobuf

Many clients in Google Cloud PHP offer support for gRPC, either as an option or a requirement. gRPC is a high-performance RPC framework created by Google. To use gRPC in PHP, you must install the gRPC PHP extension on your server. While not required, it is also recommended that you install the protobuf extension whenever using gRPC in production.

$ pecl install grpc
$ pecl install protobuf

Caching Access Tokens

By default the library will use a simple in-memory caching implementation, however it is possible to override this behavior by passing a PSR-6 caching implementation in to the desired client.

The following example takes advantage of Symfony's Cache Component.

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
]);

This library provides a PSR-6 implementation with the SystemV shared memory at Google\Auth\Cache\SysVCacheItemPool. This implementation is only available on *nix machines, but it's the one of the fastest implementations and you can share the cache among multiple processes. The following example shows how to use it.

require __DIR__ . '/vendor/autoload.php';

use Google\Cloud\Spanner\SpannerClient;
use Google\Auth\Cache\SysVCacheItemPool;

$cache = new SysVCacheItemPool();

$spanner = new SpannerClient([
    'authCache' => $cache
]);

PHP Versions Supported

All client libraries support PHP 7.4 and above.

Versioning

This library follows Semantic Versioning.

Please note it is currently under active development. Any release versioned 0.x.y is subject to backwards incompatible changes at any time.

GA: Libraries defined at a GA quality level are stable, and will not introduce backwards-incompatible changes in any minor or patch releases. We will address issues and requests with the highest priority. Please note, for any components which include generated clients the GA guarantee will only apply to clients which interact with stable services. For example, in a component which hosts V1 and V1beta1 generated clients, the GA guarantee will only apply to the V1 client as the service it interacts with is considered stable.

Beta: Libraries defined at a Beta quality level are expected to be mostly stable and we're working towards their release candidate. We will address issues and requests with a higher priority.

Contributing

Contributions to this library are always welcome and highly encouraged.

See CONTRIBUTING for more information on how to get started.

This repository is not an official support channel. If you have support questions, file a support request through the normal Google support channels, or post questions on a forum such as StackOverflow.

License

Apache 2.0 - See LICENSE for more information.

Popular Cloud Computing Projects
Popular Google Projects
Popular Cloud Computing Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Php
Google
Cloud
Authentication
Google Cloud Platform
Grpc
Protobuf
Bigquery