位置: 编程技术 - 正文

深入解析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应用开发框架)

  • 递延所得税计算表模板
  • 出口退税货物的进项税处理
  • 应收往来会计是做什么工作的
  • 毛利率在餐饮中表示什么意思?
  • 税金及附加怎么登账
  • 应收账款计入借方贷方
  • 发票只能全部冲开吗
  • 公章更换后需要到工商局备案么
  • 销售煤炭增值税怎么算
  • 业务招待费包括住宿费吗
  • 交易性金融资产的入账价值
  • 公司拓展训练入什么会计科目核算做分录?
  • 怎样冲回多计提的费用
  • 买车时的保险包括哪些费用,多少钱
  • 企业退休返聘人员工资是否缴纳单位社保
  • 公司没有收入算正常经营吗
  • 企业收到税务局退税分录
  • 备用金可以银行贷款吗
  • 没取得发票付款的情况该如何做账呢?
  • 增值税抵扣进项税额交税账务处理
  • 补交社保后的个税怎么交
  • 房产税原值包括印花税吗
  • 增加实收资本印花税税目
  • 单位缴交的社保和医保还要交其他费用吗
  • 政府补贴冲减资产原值
  • 建筑行业暂估成本的账务处理
  • 财务杠杆系数简单计算方法
  • 收到一张免税发票能抵税吗
  • 土地转让应交税费
  • 土地使用税和房产税
  • 支付人工费会计科目
  • 居民企业应纳税额
  • dll进程
  • 补交之前年度税款怎么调账
  • 什么是资产负债率,如何计算
  • vue3.0解决跨域
  • 促销费可以进项抵扣吗
  • laravel distinct
  • laravel 自定义类
  • 分次预缴税额怎么算
  • php_curl.dll
  • 现代服务印花税税率
  • 将织梦dedecms转换到wordpress
  • 企业所得税如何征收
  • 3分钟学会做蛋挞
  • 社保公司承担部分怎么做账
  • 个人代人开普票个税怎么算
  • 营业收入的构成分析应该从哪些方面进行?
  • 金税四期来了我们前期要准备什么
  • 私车公用费用报销
  • 实收资本印花税最新政策2023年
  • 加工费的进项发票摘要写什么
  • 公司内部食堂招待费账务处理
  • 出口收汇手续费需要在出口退税时扣除吗
  • 跨年跨月发票账务处理
  • 增值税销项抵扣报税后有效期是多长时间
  • 免抵退税中免抵税额怎么算
  • mysql tmp_table_size和max_heap_table_size大小配置
  • 找回未保存的cad文件
  • 开源操作系统总结
  • win10任务栏位置怎么改变
  • msscli.exe - msscli是什么进程 有什么用
  • 自动备份文件并发送到Gmail (适用G级数据的备份)
  • vsftpd教程
  • win7系统教程
  • mac os 必装软件
  • Unity3D游戏开发毕业论文
  • jsforeach循环遍历数组
  • Node.js中的事件循环是什么意思
  • java面试题简书
  • js的脚本语言
  • linux bzip2压缩目录
  • Android自定义控件高级进阶与精彩实例
  • Android Studio:adb not responding
  • jquery detach
  • python正则函数
  • js判断ua
  • python string包
  • 306医院改名什么了
  • 深圳土地增值税清算规程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设