tomato-technologies / tomato-pusher-php
适用于 Laravel 项目的 Tomato 推送器
v1.0.2
2018-08-27 02:08 UTC
Requires
- illuminate/contracts: 5.2.x|5.3.x|5.4.x|5.5.x|5.6.x|5.7.x
- illuminate/queue: 5.2.x|5.3.x|5.4.x|5.5.x|5.6.x|5.7.x
- illuminate/support: 5.2.x|5.3.x|5.4.x|5.5.x|5.6.x|5.7.x
- lcobucci/jwt: ^3.2
- predis/predis: ~1.0
This package is not auto-updated.
Last update: 2024-09-29 05:27:54 UTC
README
安装
composer require tomatotech/tomato_pusher_php
Laravel 5.5 使用包自动发现功能,因此不需要您手动添加 ServiceProvider。
Laravel 5.5+
如果您不使用自动发现,请将 ServiceProvider 添加到 config/app.php 中的 providers 数组
Tomato\Pusher\ServiceProvider::class,
如果您想使访问 Pusher 或 Event 类更方便,请在 app.php 中添加以下内容
'TomatoPusher' => Tomato\Pusher\Facade::class, 'TomatoEvent' => Tomato\Pusher\Events\Event::class,
用法
在使用前,请记住在 config/services.php 中设置您的 App Id 和 App secret,它们是通过 tomato-pusher-server 的 .env 文件分配给您的
"tomato_pusher" => [ 'app_id' => env('TOMATO_PUSHER_APP_ID'), 'app_secret' => env('TOMATO_PUSHER_APP_SECRET'), ],
您需要获取由 Pusher 生成的 JWT 令牌以及 APP Id,并将它们传递给您的 socket.io 客户端
$appId=TomatoPusher::getAppId(); //or $appId=config("services.tomato_pusher.app_id"); $token=TomatoPusher::getToken();
以下是在您的 socket.io 客户端中使用它们的示例
var socket = io('https://:37037/{{$appId}}',{ rememberUpgrade:true, query:{ channel:"{{your-channel-name}}", token:"{{$token}}" }, }); socket.on('{{your-event-name}}', function(data){ console.log(data); });
广播
向您的 socket.io 客户端广播事件
$data=["id"=>1,"name"=>"Sydney day tour","price"=>100.5]; event(new TomatoEvent('your-channnel-name','your-event-name',$data));
如果您不使用 sync 驱动来处理队列,请记住运行 make queue listening
php artisan queue:listen