adback/adback-sdk-php

sdk php to call AdBack api

v2.5.0 2018-06-28 15:21 UTC

README

Scrutinizer Code Quality Code Coverage Build Status Latest Stable Version Total Downloads License

This PHP library will call the AdBack API and will generate the JavaScript tag that should be placed on all the pages.

See the AdBack website for more informations.

See the AdBack documentation for an installation guide.

Usage

Both the Query and Generators will need a driver which implements the ScriptCacheInterface to work.

A driver for Redis is already available.

Usage Exemple

Installation

Use composer to install the lib :

    composer require adback/adback-sdk-php

Usage with Redis

Query the api

First you need to query the api to warmup the cache in a Redis data store :

    use Adback\ApiClient\Client\Client;
    use Adback\ApiClient\Driver\RedisScriptCache;
    use Adback\ApiClient\Query\ScriptUrlQuery;

    function createApiCache()
    {
        $client = new Client();
        $redis = new \Redis();
        $redis->connect('127.0.0.1');
        $redisCache = new RedisScriptCache($redis);

        $query = new ScriptUrlQuery($client, $redisCache, 'your-token');
        $query->execute();
    }

    createApiCache();

Generate the scripts

In your page, preferably in the <head>, use the generator to create the script :

    use Adback\ApiClient\Driver\RedisScriptCache;
    use Adback\ApiClient\Generator\AnalyticsScriptGenerator;

    function generateAnalyticsScript()
    {
        $redis = new \Redis();
        $redis->connect('127.0.0.1');
        $redisCache = new RedisScriptCache($redis);
        $generator = new AnalyticsScriptGenerator($redisCache);

        return $generator->generate();
    }

    echo generateAnalyticsScript();

You could do the same to create the other scripts by using the appropriate generators.

Usage with MySQL

Create the table

To create the table used to store the data in MySQL, run the query:

    CREATE TABLE adback_cache_table(our_key varchar(255), our_value varchar(255));

With the PDO driver

Query the api

First you need to query the api to warmup the cache in a Mysql table :

    use Adback\ApiClient\Client\Client;
    use Adback\ApiClient\Driver\PdoScriptCache;
    use Adback\ApiClient\Query\ScriptUrlQuery;

    function createApiCache()
    {
        $client = new Client();
        $connection = new \PDO('mysql:host=your-database-host;dbname=your-database;charset=utf8', 'login', 'password');
        $cache = new PdoScriptCache($connection);

        $query = new ScriptUrlQuery($client, $cache, 'your-token');
        $query->execute();
    }

    createApiCache();
Generate the scripts

In your page, preferably in the <head>, use the generator to create the script :

    use Adback\ApiClient\Generator\AnalyticsScriptGenerator;
    use Adback\ApiClient\Driver\PdoScriptCache;


    function generateAnalyticsScript()
    {
        $connection = new \PDO('mysql:host=your-database-host;dbname=your-database;charset=utf8', 'login', 'password');
        $cache = new PdoScriptCache($connection);
        $generator = new AnalyticsScriptGenerator($cache);

        return $generator->generate();
    }

    echo generateAnalyticsScript();

You could do the same to create the other scripts by using the appropriate generators.

With the Mysqli driver

Query the api

First you need to query the api to warmup the cache in a Mysql table :

    use Adback\ApiClient\Client\Client;
    use Adback\ApiClient\Driver\MysqliScriptCache;
    use Adback\ApiClient\Query\ScriptUrlQuery;

    function createApiCache()
    {
        $client = new Client();
        $connection = new \mysqli('your-database-host', 'login', 'password', 'your-database');
        $cache = new MysqliScriptCache($connection);

        $query = new ScriptUrlQuery($client, $cache, 'your-token');
        $query->execute();
    }

    createApiCache();
Generate the scripts

In your page, preferably in the <head>, use the generator to create the script :

    use Adback\ApiClient\Generator\AnalyticsScriptGenerator;
    use Adback\ApiClient\Driver\PdoScriptCache;


    function generateAnalyticsScript()
    {
        $connection = new \mysqli('your-database-host', 'login', 'password', 'your-database');
        $cache = new MysqliScriptCache($connection);
        $generator = new AnalyticsScriptGenerator($cache);

        return $generator->generate();
    }

    echo generateAnalyticsScript();

You could do the same to create the other scripts by using the appropriate generators.

Usage with Full script save and Redis

Query the api

First you need to query the full script api to warmup the cache in a Redis data store :

    use Adback\ApiClient\Client\Client;
    use Adback\ApiClient\Driver\RedisScriptCache;
    use Adback\ApiClient\Query\FullScriptQuery;

    function createApiCache()
    {
        $client = new Client();
        $redis = new \Redis();
        $redis->connect('127.0.0.1');
        $redisCache = new RedisScriptCache($redis);

        $query = new FullScriptQuery($client, $redisCache, 'your-token');
        $query->execute();
    }

    createApiCache();

Generate the code

In your page, use the generator to create the code :

    use Adback\ApiClient\Driver\RedisScriptCache;
    use Adback\ApiClient\Generator\AnalyticsCodeGenerator;

    function generateAnalyticsCode()
    {
        $redis = new \Redis();
        $redis->connect('127.0.0.1');
        $redisCache = new RedisScriptCache($redis);
        $generator = new AnalyticsCodeGenerator($redisCache);

        return $generator->generate();
    }

    echo generateAnalyticsCode();

You could do the same to create the other scripts by using the appropriate generators.

Usage with Full script save and Redis with predis/predis

Query the api

First you need to query the full script api to warmup the cache in a Redis data store :

    use Adback\ApiClient\Client\Client;
    use Adback\ApiClient\Driver\RedisScriptCache;
    use Adback\ApiClient\Query\FullScriptQuery;
    use Predis\Client as Predis;

    function createApiCache()
    {
        $client = new Client();
        $redis = new \Predis('127.0.0.1');
        $redisCache = new RedisScriptCache($redis);

        $query = new FullScriptQuery($client, $redisCache, 'your-token');
        $query->execute();
    }

    createApiCache();

Generate the code

In your page, use the generator to create the code :

    use Adback\ApiClient\Driver\RedisScriptCache;
    use Adback\ApiClient\Generator\AnalyticsCodeGenerator;
    use Predis\Client as Predis;

    function generateAnalyticsCode()
    {
        $redis = new \Predis('127.0.0.1');
        $redisCache = new RedisScriptCache($redis);
        $generator = new AnalyticsCodeGenerator($redisCache);

        return $generator->generate();
    }

    echo generateAnalyticsCode();

You could do the same to create the other scripts by using the appropriate generators.