位置: 编程技术 - 正文

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

  • 当月认证了进项票没用完下个月还可以用吗
  • 建筑公司收到预付款怎么开票
  • 小规模纳税人增值税减免账务处理
  • 实验用品包括实验仪器吗
  • 农副产品增值税免税政策
  • 销售原材料需要交消费税吗
  • 一般纳税人辅导期
  • 进口设备在海关处保存2年出售时 计算税怎么算
  • 取得无形资产当期收入
  • 超过认证期限的发票怎么处理
  • 出租厂房的摊销额会计分录
  • 费用分摊怎么算
  • 小规模纳税人的税率是多少
  • 加油发票税号错误怎么补救
  • 公司注销后股东主张债权的法律规定
  • 跨年度的费用发票怎么做账
  • 企业劳务费用怎么处理
  • 2020年开公司优惠政策
  • 向客户发放,赠品怎么写
  • 物流公司搬运货物合法吗
  • 运输发票备注规定
  • bios报警声是怎样的
  • win10怎么删除电脑开机密码设置
  • 中秋买东西有讲究吗?
  • mac safari使用技巧
  • 引入人工智能
  • msxct.exe - msxct是什么进程 有什么用
  • PHP:ftp_get_option()的用法_FTP函数
  • PHP:pcntl_setpriority()的用法_PCNTL函数
  • 原始凭证容易出现错误的原因
  • 云杉树下面长什么蘑菇
  • php将数字转为字符串
  • layui 日期控件赋值
  • php对二维数组进行排序
  • 收到银行承兑汇票的账务处理
  • php访问数据库的方式
  • php微信公众号消息推送
  • 图像分类实战
  • ssh -o命令
  • 对公取款
  • 对公账户的资金怎么转出
  • 小规模纳税人开专票需要交税吗
  • 金蝶软件如何输入红字
  • 交给工会的40%的工会经费里还要再返60%吗
  • 关于帝国战争的游戏
  • 小微企业的税收优惠政策2023
  • 企业注销后还会查账吗
  • 所得税汇算清缴账务处理
  • mysql 网页用户界面
  • mysql中游标的作用
  • 成本费用率分析说明
  • 培训费 会议费
  • 存货核算方法有五种
  • 小规模纳税人缴纳增值税怎么做账
  • 事业单位职工福利费
  • 残保金超比例奖励政策
  • 缴纳文化事业建设费的单位应按照提供广告服务
  • 固定资产售后回租融资租赁利息可以抵扣进项税额么
  • 非包销的视同买断的账务处理是?
  • 无追索权保理的说法
  • 金税盘里显示有报税资料怎么处理
  • 国家对民办幼儿园审批的条件有哪些?
  • linux的安装
  • win8系统安装的软件在哪里
  • windowsxp锁屏密码怎么设置
  • ubuntu21 安装
  • win10的打开方式
  • 英雄联盟支持win7
  • win10系统下如何安装谷歌浏览器插件?win10系统下谷歌浏览器插件的安装方法图文教程
  • 电脑操作系统win8
  • Windows 7 OpenGL配置,解决“无法启动此程序,因为计算机中丢失glut32.dll。”
  • web中class和id的区别
  • 用javascript写表单代码
  • unity 3d游戏开发
  • jquery.browser
  • 河南居民医保网上缴费查询
  • 江苏国税电子税务局怎么申报
  • 进口汽车增值税怎么算
  • 企业代扣代缴个税
  • 增值税电子专用发票怎么作废
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设