位置: 编程技术 - 正文

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

  • 动态市盈率与静态市盈率区别百度百科
  • 增值税专用发票几个点
  • 纳税人享受的权利有哪些
  • 个人所得税手续费返还增值税税率
  • 如何进行个人所得税认定
  • 机票和发票是一样的吗
  • 私车公用协议可以入账吗?
  • 新个税法申报的税种
  • 费用化的研发支出是否可以加计扣除
  • 建筑类企业是否允许留抵
  • 发票税率金额如何得出
  • 出资款在现金流中怎么体现
  • 公益性捐赠的税收优惠政策
  • 公务接待和商务服务区别
  • 借款应付利息计算
  • 商业发票和形式发票英文
  • 债券作为交易性金融资产的账务处理
  • 电梯提供安装的增值税税率最新的
  • 生产企业商贸企业
  • 小规模纳税人代理记账一般多少钱
  • 废品损失一般不由本月生产的产品成本负担
  • 会计经验要求怎么填
  • 滴滴出行客运服务费 事业单位 报销
  • 初级会计职称考试时间
  • 一般纳税人购车可以抵扣多少税
  • 财务部门固定资产修理费计入什么科目
  • 收入未实现成本怎么进
  • 硬盘的日常维护需要做到什么?
  • 冲红发票会计分录大全
  • 如何检查文档
  • 增值税进项税额转出的情况有哪些
  • php b/s
  • 应缴纳增值税计什么科目
  • 最多人用的操作系统
  • php开发微信小程序步骤
  • 预提的奖金需要缴纳个人所得税吗
  • php imagestring
  • 前端跨域的方法
  • crontab不执行的原因和解决方案
  • php文件上传技术
  • php curl_exec
  • 所得税申报怎么弥补以前年度亏损
  • 印花税和工会经费用不用计提
  • 职工教育教育经费
  • 所得税汇算清缴报告在哪查
  • 个税申报不成功,累计减除费用60000审核不通过
  • 尚未报送年度会计报表
  • js方案
  • 商业折扣应该怎么计算
  • 医院如何开票
  • 提取维简费分录
  • 房地产毛利额纳税调整
  • 质押发票
  • 进项税红字发票怎么样申报
  • 取得下列资产时应按公允价值计量
  • 报销未收到发票怎么做账
  • 工资及福利费科目
  • 企业各种盘盈和盘亏分录
  • 通行费发票电子化 机场路
  • 给客户购物卡如何充钱
  • 记账凭证的基本内容包括制证,审核,记账,会计主管
  • 微软雅黑可以免费用吗
  • vista sp2 旗舰版 key
  • windows vista在哪里
  • unix vi命令
  • linux系统百科
  • dx12不支持dx11解决办法
  • win10预览版和正式版
  • Linux操作系统之rm命令详解
  • win8.1介绍
  • 升级win10系统后安装谷歌打不开
  • js opendialog
  • 考四级题型
  • 自动释放池原理,本质
  • python抓取软件界面数据
  • jquery-easyui-1.3.3
  • 安卓使用icloud
  • android进度条对话框
  • 租房税多少钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设