Provides a PHP client for the Fastly API

v0.3.0 2016-05-25 20:54 UTC

This package is not auto-updated.

Last update: 2020-09-18 20:52:59 UTC


Installation via Composer

The recommended method to install Fastly-PHP is through Composer.

  1. Add fastly/fastly as a dependency in your project's composer.json:

            "require": {
                "fastly/fastly": "~0.2"
  2. Download and install Composer:

        curl -s | php
  3. Install your dependencies:

        php composer.phar install --no-dev
  4. Require Composer's autoloader

    Composer also prepares an autoload file that's capable of autoloading all of the classes in any of the libraries that it downloads. To use it, just add the following line to your code's bootstrap process:

        require 'vendor/autoload.php';
        $adapter = new GuzzleAdapter('api_key');
        $client = new Fastly($adapter);

You can find out more on how to install Composer, configure autoloading, and other best-practices for defining dependencies at

You'll notice that the installation command specified --no-dev. This prevents Composer from installing the various testing and development dependencies. For average users, there is no need to install the test suite. If you wish to contribute to development, just omit the --no-dev flag to be able to run tests.


$adapter = new GuzzleAdapter('api_key');
$fastly = new Fastly($adapter);

$result = $fastly->send('GET', 'stats?from=1+day+ago');

$result = $fastly->purgeAll('some_service_id');

$result is an instance of Psr\Http\Message\ResponseInterface


This packages uses Guzzle as the default http client.

To use a different http client an adapter class that implements implementing Fastly\Adapter\AdapterInterface should be provided.


There is a class provided in order to fake Fastly so it can be used for testing:

$fastly = new FastlyFake();

$result = $fastly->send('GET', 'stats?from=1+day+ago');

$result = $fastly->purgeAll('some_service_id');

$fastly->getCall(0); // Will return array('send', 'GET', 'stats?from=1+day+ago', array())
$fastly->getCall(1); // Will return array('purgeAll', 'some_service_id', array());


Run tests with bin/phpspec run


docs consistantly formatted docs


This package uses the MIT License (MIT). Please see LICENSE for more information.