adback / adback-sdk-php-symfony
一个用于使用AdBack ApiClient的包
Requires
- adback/adback-sdk-php: ~2.5
- symfony/framework-bundle: ~2.3|~3.0|^4.0
- twig/twig: *
Requires (Dev)
- doctrine/orm: ^2.5
- phake/phake: ~2.3
- phpunit/phpunit: ~5.4.0
Suggests
- dekalee/nightly-task-bundle: Allows you to run all your nightly task with one entry command
- doctrine/orm: Allows you to use doctrine to store the cache
- symfony/config: Allows you to use the file cache
README
此包将使用库调用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: ''