更新phpredis
更新到 php 7.4
切换到对应的php版本
1 | brew-php-switcher 7.4 |
安装redis扩展
1 | pecl install redis |
确认redis包安装完成
1 | php -m |
确认设置文件位置
1 | php --ini |
添加
1 | extension="redis.so" |
重启php
1 | sudo brew services restart php |
在 vue 独立组件中使用 laravel echo
在 vue 独立组件中使用 laravel echo
引入包
1 | import Echo from "laravel-echo" |
设置新的Echo,同时监听新的echo
1 | this.echo = new Echo({ |
以上
laravel 包中创建新 view 并使用 vue-route
laravel 包中创建新 view 并使用 vue-route
前言
自行开发的laravel扩展包少不了UI的显示。
官方又没有写明,于是就踩了不少的坑。
填坑方法如下。
js 设置文件
package.json
复制laravel最初的设置就好
webpack.mix.js
注意copy到对应的laravel项目路径
1 | const mix = require('laravel-mix'); |
resources 文件夹
app.js
1 | import Vue from 'vue'; |
routes.js
1 | export default [ |
其他vue组件
正常写法,没什么需要注意的
laravel
路由
有使用vue-router,不按照下面的写会404哦。
1 | Route::get('/{view?}' , 'LogServiceController@getHome')->where('view', '(.*)' )->name('home'); |
控制器
传递logsServicePath到页面。
1 | return view('logsservice::layout' , [ 'logsServicePath' => [ 'path' => 'logs' ] ]); |
blade
注意$logsServicePath有控制器传递了。注意根据需要修改。
1 | <!doctype html> |
以上
Clashx
laravel logs
为laravel logs添加自定义格式与处理方法
Monolog\Formatter\LineFormatter 用来定义log内容。
Monolog\Processor\IntrospectionProcessor 用来获取控制器、方法、行数。
1 | <?php |
设置logging.php
1 | 'daily' => [ |
奇怪的梦
奇怪的梦
太过美好的梦,以至于不愿意醒来……
laravel echo 设置
laravel echo用于提供socket服务,现代网络服务必备。
于是使用laravel-echo-server
注意laravel-echo-server是兼容pusher的。
所以直接安装pusher包 + 设置config/broadcasting.php就可以快速上手。
网络上没人将详细的设置方法写出来不知道是为什么。
需要的包
1 | composer require pusher/pusher-php-server |
设置
.env
1 | BROADCAST_DRIVER=pusher |
config/broadcasting.php
1 | 'pusher' => [ |
启动echo-server
官方写的非常清楚了。
注意:非本地使用的情况下建议开启https
1 | laravel-echo-server init |
到这里,laravel有可以使用php向频道中推送信息了。
vue前端设置
bootstrap.js中进行设置
注意地址的对应。如果需要laravel-echo-server完全可以拆分为独立服务器。也可以使用docker包。
1 | import Echo from "laravel-echo" |
使用echo
在laravel中
新建一个事件,laravel中的推送要使用的到队列。
类要implements ShouldBroadcast
__construct的消息为要推送信息。
broadcastOn()用来指定频道。
broadcastAs()用来指定频道名称。
1 | <?php |
在vue组件中
注意listen名字前的.
1 | var channel = Echo.channel('your_channel'); |