adback/adback-sdk-php-symfony

一个用于使用AdBack ApiClient的包

v2.9.0 2019-06-26 14:06 UTC

README

Scrutinizer Code Quality Code Coverage Latest Stable Version Total Downloads License

此包将使用库调用AdBack api。

有关更多信息,请参阅AdBack网站

安装

运行composer命令

    composer require adback/adback-sdk-php-symfony

如果您使用的是symfony >= 4版本,它应该会自动激活包。

如果您使用的是symfony < 4版本,您必须将包添加到您的AppKernel.php文件中

    new Adback\ApiClientBundle\Adback\ApiClientBundle(),

配置

Symfony 4

在您的.env文件中,应该已添加以下行

    ADBACK_API_CLIENT_ACCESS_TOKEN=adback-access-token

使用AdBack团队提供的令牌修改它。

然后按照链接到的段落操作,该段落与您选择的缓存类型相关。

Redis

config/packages/adback_sdk_php.yaml中,您应该添加以下配置

    cache_type: redis
    cache_service: redis_service

redis_service是您用于存储数据的redis连接名称。

Doctrine

config/packages/adback_sdk_php.yaml中,您应该添加以下配置

    cache_type: doctrine
    entity_manager: doctrine.orm.entity_manager

doctrine.orm.entity_manager是您用于存储数据的doctrine连接名称。

别忘了创建与AdBack sdk相关的表。

自定义

如果您想编写自己的缓存驱动程序,应创建一个实现Adback\ApiClient\Driver\ScriptCacheInterface的类,并将此服务命名为adback_api_client.script_cache

config/packages/adback_sdk_php.yaml中,您应该添加以下配置

    cache_type: custom

如果服务缺失,当使用服务时,Symfony DIC将发出错误。

Symfony < 4

在您的app/config/config.yml文件中,您应该添加以下行

    adback_api_client:
        access_token: "your-access-token"

使用AdBack团队提供的令牌修改它。

然后按照链接到的段落操作,该段落与您选择的缓存类型相关。

Redis

app/config/config.yml中,您应该添加以下配置

    adback_api_client:
        cache_type: redis
        cache_service: redis_service

redis_service是您用于存储数据的redis连接名称。

Doctrine

app/config/config.yml中,您应该添加以下配置

    adback_api_client:
        cache_type: doctrine
        entity_manager: doctrine.orm.entity_manager

doctrine.orm.entity_manager是您用于存储数据的doctrine连接名称。

别忘了创建与AdBack sdk相关的表。

自定义

如果您想编写自己的缓存驱动程序,应创建一个实现Adback\ApiClient\Driver\ScriptCacheInterface的类,并将此服务命名为adback_api_client.script_cache

app/config/config.yml中,您应该添加以下配置

    adback_api_client:
        cache_type: custom

如果服务缺失,当使用服务时,Symfony DIC将发出错误

脚本类型

对于您可能获得的脚本有两种可能性。

小脚本

此配置将只从外部URL加载AdBack脚本。

这种用法适合快速入门。

完整脚本

此配置将加载我们的完整脚本或bootscrap脚本。

这将使我们能够提供一个在阻止更难的情况下更具灵活性的脚本。

此解决方案适用于高级使用。

使用

刷新命令

为了确保AdBack脚本始终保持最新,您应该定期运行命令adback:api-client:refresh-tag(至少每天一次)。

此命令将调用我们的API并将响应存储在您选择的缓存类型中

将脚本添加到您的页面中

在您的网页底部,您应该添加脚本的twig生成函数

    {{ adback_generate_scripts() }}

完整配置说明

    adback_api_client:
        access_token:         ~ # Required, Your personnal access token
        api_url:              'https://adback.co/api' # The base url for the api
        script_url:           script/me # The api url used to get the script
        cache_type:           redis # The cache type you are using
        generator_type:       script # The type of script you are generating
        cache_service:        redis # The service used for the caching
        entity_manager:       doctrine.orm.entity_manager # The entity manager used (only if you use the doctrine cache

        # This key is used if multiple website access the same database
        key_prefix:           ''