Google API Core for PHP
Google API Core for PHP (gax-php) is a set of modules which aids the development of APIs for clients based on gRPC and Google API conventions.
Application code will rarely need to use most of the classes within this library directly, but code generated automatically from the API definition files in Google APIs can use services such as page streaming and retry to provide a more convenient and idiomatic API surface to callers.
PHP Versions
gax-php currently requires PHP 5.6 or higher.
Contributing
Contributions to this library are always welcome and highly encouraged.
See the CONTRIBUTING documentation for more information on how to get started.
Versioning
This library follows Semantic Versioning.
This library is considered GA (generally available). As such, it will not introduce backwards-incompatible changes in any minor or patch releases. We will address issues and requests with the highest priority.
Repository Structure
All code lives under the src/ directory. Handwritten code lives in the
src/ApiCore directory and is contained in the Google\ApiCore
namespace.
Generated classes for protobuf common types and LongRunning client live under the src/ directory, in the appropriate directory and namespace.
Code in the metadata/ directory is provided to support generated protobuf classes, and should not be used directly.
Development Set-Up
These steps describe the dependencies to install for Linux, and equivalents can be found for Mac or Windows.
-
Install dependencies.
> cd ~/ > sudo apt-get install php php-dev libcurl3-openssl-dev php-pear php-bcmath php-xml > curl -sS https://getcomposer.org/installer | php > sudo pecl install protobuf
-
Set up this repo.
> cd /path/to/gax-php > cp ~/composer.phar ./ > php composer.phar install
-
Run tests.
> vendor/bin/phpunit --bootstrap tests/bootstrap.php tests
-
Updating dependencies after changing
composer.json
:> php composer.phar update `
-
Formatting source:
> vendor/bin/phpcbf -s --standard=./ruleset.xml > vendor/bin/phpcs -s --standard=./ruleset.xml
License
BSD - See LICENSE for more information.