pusher 创建新应用_laravel之pusher应用广播事件- 黑白课堂
版本说明
composer指定版本可以查看
https://www.jianshu.com/p/ef31d9c9094b
laravel5.2
pusher版本
"pusher/pusher-php-server": "^2.2.1",
pusher laravel版本
"pusher/pusher-http-laravel": "~2.0"
安装
忽略怎么安装,
把创建pusher的配置文件读取到config下,
官方文档存在BUG,代码应该是
php artisan vendor:publish
config/app.php
引入
'providers' => [
..
Vinkla\Pusher\PusherServiceProvider::class
]
别名那里不引入,有问题,后续有机会重写一个
搞定配置
配置文件说明
'connections' => [
'main' => [
'auth_key' => env('PUSHER_KEY'),
'secret' => env('PUSHER_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [],
'host' => null,
'port' => null,
'timeout' => null,
//这里必须增加配置,表示
'options'=>[
'encrypted'=>false,//是否HTTPS
'cluster'=>'ap1',//调用哪个api
]
],
'alternative' => [
'auth_key' => 'your-auth-key',
'secret' => 'your-secret',
'app_id' => 'your-app-id',
'options' => [],
'host' => null,
'port' => null,
'timeout' => null,
],
],
测试下是否可以使用
HTML文件,拿官方的来,订阅
Pusher Test
// Enable pusher logging - don't include this in production
Pusher.logToConsole = true;
var pusher = new Pusher('0a8d7355056b24b3dcd9', {
cluster: 'ap1',
encrypted: true
});
var channel = pusher.subscribe('my-channel');
channel.bind('my-event', function(data) {
alert(data.message);
});
laravel文件,发布
随便一个控制器,方法随便你,
$pusher = App::make('pusher');//因为直接用别名,刚才说了,引入会报错,所以用了这种方法注册。
$data['message'] = 'hello world';
$pusher->trigger('my-channel', 'my-event', $data);
浏览器访问就可以在html文件那里打开显示hell world
事件广播定义
创建事件定义,加入如下,这个怎么创建,请参考https://www.jianshu.com/p/68caa3df8bf5
'App\Events\PusherEvent' => [
'App\Listeners\PusherEventListener',
]
执行生成
php artisan event:generate
envent继承ShouldBroadcast
class PusherEvent extends Event implements ShouldBroadcast
{
use SerializesModels;
public $message, $id;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct($text, $id)
{
$this->message = $text;
$this->id = $id;
}
/**
* Get the channels the event should be broadcast on.
*这里是定义频道的名字
* @return array
*/
public function broadcastOn()
{
return ['channel'];
}
//事件名字,如果这里没有定义,则会直接以这个事件名字为事件名,例如:App\\Events\\PusherEvent;
public function broadcastAs(){
return ['my-event'];
}
}
控制器调用
$str=str_random();
$pusher = App::make('pusher');
event(new \App\Events\PusherEvent($str, '1'));//触发事件
html文件调用
Pusher.logToConsole = true;
var pusher = new Pusher('0a8d7355056b24b3dcd9', {
cluster: 'ap1',
encrypted: true
});
var channel = pusher.subscribe('channel');
channel.bind('App\\Events\\PusherEvent', function(data) {
alert(data.message);
});
pusher 创建新应用_laravel之pusher应用广播事件- 黑白课堂相关推荐
- pusher 创建新应用_3.5 使用Pusher发送事件
"练习3-1"演示了使用Pusher接收事件是多么容易,但是发送事件又如何呢? 由于Pusher有丰富的API库,因此发送事件和接收事件一样容易.我们将使用PHP的API库.该库托 ...
- pusher 创建新应用_基于 Laravel + Pusher + Vue 通过事件广播构建实时聊天室应用
基于 Laravel + Pusher + Vue 通过事件广播构建实时聊天室应用 由 学院君 创建于2年前, 最后更新于 3个月前 版本号 #3 前言:学院君之前有说过要整理出一篇事件广播手把手教程 ...
- pusher 创建新应用_使用 Laravel-echo-server 构建实时应用
文章转发自专业的Laravel开发者社区,原始链接:learnku.com/laravel/t/1- 在我看来,实时通信才是 APP 应用的将来. Socket 服务通常不是那么容易实现,但是 Lar ...
- vue js 对象下的原型_如何使用Vue.js和Pusher创建实时原型反馈应用程序
vue js 对象下的原型 by Neo Ighodaro 由新Ighodaro 如何使用Vue.js和Pusher创建实时原型反馈应用程序 (How to create a realtime pro ...
- ios pusher使用_使用.NET和Pusher构建实时评论功能
ios pusher使用 by Ogundipe Samuel 由Ogundipe Samuel 使用.NET和Pusher构建实时评论功能 (Build a real-time commenting ...
- 【运维学习笔记】在 vSphere Client上创建新的虚拟机
具体步骤如下: 1. 创建新的虚拟机 打开vSphere Client(可以是客户端也可以是网页端) 如果是网页端仅能使用火狐浏览器或者谷歌浏览器打开,输入网址:192.168.22.22,进入如下界 ...
- asp.net mysql 创建变_[ASP.net教程]EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型...
[ASP.net教程]EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型 0 2018-06-30 07:00:08 官方教程: ...
- win7计算机创建新用户,win7系统无法创建新用户的解决方法
很多小伙伴都遇到过win7系统无法创建新用户的困惑吧,一些朋友看过网上零散的win7系统无法创建新用户的处理方法,并没有完完全全明白win7系统无法创建新用户是如何解决的,今天小编准备了简单的解决办法 ...
- git 从远程主服务器当中创建新分支
现有版本; h20, h28,h26,i8 h28,h26,i8是从H20下面创建的. 需求: 从H28下面创建新分支继续开发. 思路: 所有代码均是放置到H20上仓库当中,首先下载H20完整仓库,也 ...
最新文章
- 借助Redis锁,完美解决高并发秒杀问题
- LINUX TOMCAT
- java 矩阵转置算法
- MySQL SQL优化
- 不用python编程,制作词云图
- redis伪集群脚本
- c语言作业题五六章答案,C语言程序设计五六章习题和课堂测试答案.doc
- 推荐一款免费国产远程办公神器ToDesk,TeamViewer完美替代品
- Qt工作笔记-moc的认识
- 本地wamp的Internal Server Error错误解决方法
- micropython教程nucleo-f767zi开发板_教你做CMSIS-DAP仿真器(基于Nucleo-F767ZI)
- Python下的云计算(OpenStack技术书籍)
- 利用纯真ip库搭建ip查询服务
- c#中excel文件怎么转换为dbf文件
- word 生成pdf_为什么Microsoft Word生成的PDF文件这么大?
- 南阳oj 题目10 skiing
- 利用Matlab筛选给定条件的数据
- QQ号被盗有什么方法能找回
- c语言中 x20是什么意思,vivo X20的这些功能,我想给满分。
- 任建新照常去办公室领取工资