位置: 编程技术 - 正文

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

  • 随机赠送礼品个人所得税
  • 仓储服务费税率2021
  • 减免的增值税如何计算
  • 收款和出库哪个借方哪个贷方?
  • 注销公司账面余额要全部清零吗
  • 代收款需要开票吗
  • 换工作个税申报忘记更改
  • 公司变更地址后需要去开户银行变更
  • 利润表研发费用包括哪些内容
  • 出口旧设备最新政策
  • 行政事业单位收据样本
  • 品种法怎么计算在产品成本
  • 企业法人不是实际老板怎么办
  • 未分配利润转出
  • 甲供材的范围
  • 税法关于印花税的规定
  • 哪些项目可以免征个人所得税
  • 红字发票信息单需要寄给对方吗
  • 金税盘点了没反应
  • 资产处置损益是收入还是费用
  • 享受企业所得税税额抵免优惠的设备包括
  • 以货换货账务怎么处理
  • 土地使用权的原值和账面价值
  • 公司投资私募股票有哪些
  • 汇算清缴之前找回来成本发票可以吗
  • 销售折让怎么处理
  • 小微企业季度超过45万填报增值税
  • 餐饮调理产品有哪些
  • 商誉减值测试的方法有哪些
  • 工程什么情况下可以索赔
  • 备用金冲销会计怎么做账
  • 个体户需要交钱吗
  • 小规模纳税人可以开增值税专用发票吗
  • 加油站的成品油经营许可证过期3个月还能换证吗?
  • 随机赠送是啥意思
  • 在win7系统中如何让电脑恢复出厂设置方法
  • 个体户年报如何公示
  • php psr2
  • 红字发票只能一张一张开吗
  • 资产收购的账务处理
  • 投标保证金怎么退还流程
  • php发送邮件代码
  • 收据中代收款凭证
  • 计提资产减值准备是利好还是利空
  • 非常好看的头像
  • 车间一般耗材计入
  • javascript 高级教程
  • 长期借款主要包括哪些
  • 社保费已扣为什么显示欠缴
  • 租车发票可以抵扣吗
  • 弃置费用摊销例题
  • python画3d图形
  • 织梦如何使用
  • 公司贷款谁签字
  • 其他应收款主要是什么
  • 不抵扣进项税额转出怎么做分录处理
  • 支付水电费会计
  • 公司进货厂家给开发票吗
  • 小规模什么情况下必须转为一般纳税人
  • 出纳可以做库管吗
  • 购入房屋建筑物进项税额抵扣
  • 以现金支付现金股票增值权属于经营活动吗
  • 什么时候用税前项目举例说明工程项目
  • Win7系统打印机共享无法保存打印机设置0x000006d9
  • winxp如何删除网卡驱动
  • sqlagent.exe - sqlagent是什么进程
  • windows7 sp1升级包
  • linux xfs 扩容
  • 关于加载失败壁纸
  • Unity3d AssetDatabase.SetLabels StartAssetEditing ValidateMoveAsset 语法复习
  • ie6怎么设置兼容性
  • JavaScript中setAttribute用法介绍
  • 利用的英文
  • 深入理解计算机系统
  • Android之BroadcastReceiver
  • unity的shader用法
  • js弹出对话框的命令
  • python字典常用操作以及字典的嵌套
  • 法律服务所与律师事务所区别
  • 国家税务总局年底结算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设