lsv / pusher-bundle
symfony 的 pusher.com 扩展包
Requires
- php: ^5.5.9|^7.0
- pusher/pusher-php-server: ^2.6
- symfony/config: ^2.8|^3.0
- symfony/console: ^2.8|^3.0
- symfony/dependency-injection: ^2.8|^3.0
- symfony/event-dispatcher: ^2.8|^3.0
- symfony/http-kernel: ^2.8|^3.0
This package is auto-updated.
Last update: 2024-08-27 21:33:23 UTC
README
symfony 的 Pusher.com 扩展包
安装
composer require lsv/pusher-bundle
将扩展包添加到 AppKernel
# app/AppKernel.php public function registerBundles() { $bundles = [ new Lsv\PusherBundle\LsvPusherBundle(), ]; }
添加所需配置
lsv_pusher: app_id: <Your app key> key: <Your app id> secret: <Your app secret>
更多信息请参考 配置部分
使用方法
控制器示例
在控制器中,您可以使用
$this->get('lsv_pusher.pusher')->trigger('channel', 'event-name', $data);
这将是一个 Lsv\PusherBundle\Service\PusherService
对象,它扩展了 pusher/pusher-php-server
中的 \Pusher
我扩展原始版本的原因是,无法向原始版本添加中间件,因此我在自己的版本中添加了它们
由于我的服务扩展了原始版本,因此您可以像在 https://github.com/pusher/pusher-http-php 中一样使用所有相同的方法
您的服务
在您的服务中,您可以将以下内容添加到参数中
services: your-service: class: YourClass arguments: ["@lsv_pusher.pusher"]
并在您的 YourClass 中
use Lsv\PusherBundle\Service\PusherService class YourClass { public function __construct(PusherService $pusher) { } }
配置
即使 debug
为 false,也会发送所有事件,并将信息发送到 symfony 分析器
完整配置示例
lsv_pusher: app_id: 123 key: 123 secret: 123 timeout: 20 encrypted: true cluster: eu curl_options: - CURLOPT_IPRESOLVE: CURL_IPRESOLVE_V4 debug: true
curl_options 信息
如果您将常量添加到 curl_options 中,如下所示
lsv_pusher: curl_options: - CURLOPT_IPRESOLVE: CURL_IPRESOLVE_V4 - CURLOPT_SSL_VERIFYSTATUS: false
该常量将被转换为对应的整数
Symfony 3.2+
在 Symfony 3.2+ 中,您可以这样做
lsv_pusher: curl_options: - !php/const:CURLOPT_IPRESOLVE: !php/const:CURL_IPRESOLVE_V4 - !php/const:CURLOPT_SSL_VERIFYSTATUS: false
事件
所有事件类都在 Lsv\PusherBundle\Event
命名空间中
在所有事件类中,您可以使用 NAME 常量来获取触发的事件名称,例如 Lsv\PusherBundle\Event\TriggerBatchEvent::NAME
Symfony 分析器
所有响应请求都会显示在分析器中,如下所示
命令
提供了一个命令用于测试 Pusher.cosend,以触发测试
lsv:pusher:test
也可以添加可选选项
许可协议
MIT 许可证 (MIT)
版权所有 (c) 2016 Martin Aarhof
在此,任何人免费获得本软件及其相关文档副本(“软件”),可以不受限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许获得本软件的人这样做,但必须遵守以下条件
上述版权声明和本许可声明应包含在软件的副本或实质性部分的副本中。
本软件按“现状”提供,不提供任何形式的保证,无论是明示的、暗示的还是法定的,包括但不限于适销性、适用于特定目的和无侵权性的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论是基于合同、侵权或其他方式,源于、因或与该软件或其使用或其他方式有关。