位置: 编程技术 - 正文

深入解析PHP的Laravel框架中的event事件操作(php解析配置文件)

编辑:rootadmin

推荐整理分享深入解析PHP的Laravel框架中的event事件操作(php解析配置文件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php解析配置文件,php解析原理,php 解析url,php 解析url,php解析器是什么,php解析器是什么,php 解析,php 解析,内容如对您有帮助,希望把文章链接给更多的朋友!

有时候当我们单纯的看 Laravel 手册的时候会有一些疑惑,比如说系统服务下的授权和事件,这些功能服务的应用场景是什么,其实如果没有经历过一定的开发经验有这些疑惑是很正常的事情,但是当我们在工作中多加思考会发现有时候这些服务其实我们一直都见过。下面就事件、事件监听举一个很简单的例子你就会发现。

&#; 这个例子是关于文章的浏览数的实现,当用户查看文章的时候文章的浏览数会增加1,用户查看文章就是一个事件,有了事件,就需要一个事件监听器,对监听的事件发生后执行相应的操作(文章浏览数加1),其实这种监听机制在 Laravel 中是通过观察者模式实现的.

注册事件以及监听器首先我们需要在 app/Providers/目录下的EventServiceProvider.php中注册事件监听器映射关系,如下:

然后项目根目录下执行如下命令

该命令完成后,会分别自动在 app/Events和app/Listensers目录下生成 BlogView.php和BlogViewListener.php文件。

定义事件

其实看到这些你会发现该事件类只是注入了一个 Post实例罢了,并没有包含多余的逻辑。

定义监听器事件监听器在handle方法中接收事件实例,event:generate命令将会自动在handle方法中导入合适的事件类和类型提示事件。在handle方法内,你可以执行任何需要的逻辑以响应事件,我们的代码实现如下:

注释中也已经说明了一些逻辑。

触发事件事件和事件监听完成后,我们要做的就是实现整个监听,即触发用户打开文章事件在此我们使用和 Event提供的 fire方法,如下:

深入解析PHP的Laravel框架中的event事件操作(php解析配置文件)

现在打开页面发现数据库中的`view_cache已经正常加1了,这样整个就完成了。

事件广播简介:Laravel 5.1 之中新加入了事件广播的功能,作用是把服务器中触发的事件通过websocket服务通知客户端,也就是浏览器,客户端js根据接受到的事件,做出相应动作。本文会用简单的代码展示一个事件广播的过程。

依赖:

redis nodejs, socket.io laravel 5.1

配置:

config/broadcasting.php中,如下配置'default' => env('BROADCAST_DRIVER', 'redis'),,使用redis作为php和js的通信方式。 config/database.php中配置redis的连接。

定义一个被广播的事件:根据Laravel文档的说明,想让事件被广播,必须让Event类实现一个IlluminateContractsBroadcastingShouldBroadcast接口,并且实现一个方法broadcastOn。broadcastOn返回一个数组,包含了事件发送到的channel(频道)。如下:

被广播的数据:默认情况下,Event中的所有public属性都会被序列化后广播。上面的例子中就是$user_id这个属性。你也可以使用broadcastWith这个方法,明确的指出要广播什么数据。例如:

Redis和Websocket服务器:需要启动一个Redis,事件广播主要依赖的就是redis的sub/pub功能,具体可以看redis文档需要启动一个websocket服务器来和client通信,建议使用socket.io,代码如下:

这里需要注意的是redis.on方法的定义,接收到消息后,给client发送一个事件,事件名称为channel + ':' + message.event。

客户端代码:客户端我们也使用socket.io,作为测试,代码尽量简化,仅仅打印一个接受到的数据即可。如下:

服务器触发事件:直接在router中定义个事件触发即可。如下:

测试:

启动redis 启动websocket 打开带有客户端代码的页面,可以看到websocket已经连接成功。 触发事件,打开另一个页面 localhost/event。

这时就可以发现,第一个页面的console中打印出了Object{user_id: 3},说明广播成功。

PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面 AdminLTE是一个基于Bootstrap3.x的免费高级管理控制面板主题,完全响应式管理,适合从小型移动设备到大型台式机很多的屏幕分辨率。AdminLTE的特点:充分

PHP实现补齐关闭的HTML标签 本文实例讲述了PHP实现补齐关闭的HTML标签。分享给大家供大家参考,具体如下:很多时候,在我们做文章截取摘要的时候,如果出现HTML的内容,会出现

php获取文件后缀的9种方法 本文实例为大家分享了9种php获取文件后缀的方法,供大家参考,具体内容如下php/***CreatedbyPhpStorm.*User:liuft*Date:/3/7*Time::*///第一种//functionget_extension

标签: php解析配置文件

本文链接地址:https://www.jiuchutong.com/biancheng/292478.html 转载请保留说明!

上一篇:Android App中DrawerLayout抽屉效果的菜单编写实例

下一篇:PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面(laravel入门与实战:构建主流php应用开发框架)

  • 车船税是每个月交还是每年交
  • m级纳税人如何变成b级
  • 城市维护建设税怎么做分录
  • 应收账款和应付账款的关系
  • 分公司税务登记流程视频
  • 工程咨询属于什么合同
  • 咨询费计入什么管理费用的什么科目
  • 外经证预交税怎么算
  • 水利建设专项收入怎么计算
  • 汇总记账凭证会计核算组织形式适用于
  • 可转换可赎回债券
  • 出纳如何做好保密工作
  • 个人可支配收入缩写
  • 汇票的票据行为有贴现吗
  • 企业股权转让留存收益可以扣除吗
  • 客户往来对账单
  • 往年预付账款错了,应如何调?
  • 销售固定资产未收到钱
  • 进口后的技术服务费
  • 一般纳税人吧
  • 企业税收扣除标准
  • 保洁劳务税点
  • 税务局拍卖资产
  • 营改增后停车费税率
  • 个人房产税征收标准
  • 分公司税率怎样确定
  • 外贸企业出口退税计算公式
  • 农村合作社收到奖金分录
  • 杜邦分析法的三个核心是什么
  • 园林公司采购岗位职责
  • win7 bootmode
  • 鸿蒙系统智能设备怎么开启
  • 小规模减免的税额怎么做账
  • 小型微利企业的税收政策
  • 公司收到银行转账会计分录
  • 认缴注册是什么意思
  • vue解决跨域问题
  • 实收资本一定要打进公司对公户吗
  • aliwssv.exe是什么进程
  • 图像深度算法
  • handsome主题破解
  • 流动比率取值是取期末
  • 购入苗木进项税的会计分录
  • 企业扶贫捐赠简报范文
  • 小规模纳税人季度不超30万怎么做账
  • 淘宝企业店必须绑定对公账户吗
  • css样式居中
  • 免费下载仿iOS主题
  • 工程公司的材料员考试难吗
  • 小微企业所得税优惠政策最新2023
  • 学校收到政府补助的会计分录
  • 预收租金会计分录科目
  • 2020年账簿印花税减免政策
  • 商业折扣,现金折扣,销售折让
  • 一般纳税人原材料的入账价值怎么算
  • 土地属于固定资产吗 会计
  • sql server 2012 数据库bak脚本还原
  • windows下修改uuid的工具
  • win8自启动在哪儿设置
  • win10系统应用和浏览器控制需要启用吗
  • win1021h2正式版
  • win8 boot manager
  • win8的计算机在哪里
  • win7系统桌面图标设置
  • win8启动设置选哪个
  • 拉伸设置
  • 音乐播放音乐
  • css+div布局的常用方法
  • listary 替代
  • python怎么生成随机函数
  • pythion
  • js 编程
  • python django 项目框架图
  • 税务查询热线
  • 办理对外支付税务备案需要多久时间
  • 退休军人免门票吗
  • 免税关口
  • 餐饮发票怎么看真假
  • 龙岗税务分局管辖范围
  • 房契税发票丢了能补办吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设