首页 > 后端开发 > php教程 > 带有Laravel 5.1和活动广播的实时应用程序

带有Laravel 5.1和活动广播的实时应用程序

Christopher Nolan
发布: 2025-02-17 11:14:10
原创
401 人浏览过

Laravel 5.1的活动广播简化了PHP中的实时应用程序开发。此功能使发布事件可用于实时PubSub解决方案,例如Pusher或Redis。 本文演示了使用此功能构建实时的待办事项应用程序。

>

Real-time Apps with Laravel 5.1 and Event Broadcasting

我们将把基本的待办事项应用程序转换为实时应用程序。

>

密钥概念:

    > Laravel 5.1的活动广播通过向Pusher或Redis等服务发布活动来促进实时PHP应用程序。
  • > 通过定义创建,更新或删除项目时触发的Laravel事件来实现实时功能。 这些事件利用
  • >接口。
  • 实时云服务ShouldBroadcast Pusher无缝集成。 您需要一个推送帐户及其服务器库。推送器JavaScript客户端处理客户端事件处理。
  • Laravel的广播显着增强了PHP的实时功能,以前在Node.js等平台中更常见。 该框架的可扩展性通过作曲家软件包或自定义驱动程序支持其他实时解决方案。
  • 设置:

最简单的方法是改进了宅基地。 另外,请确保安装Git和Composer。 克隆入门应用程序:

>测试非实时时间应用程序:

>
git clone https://github.com/cwt137/l51-todo-app todo-app
cd todo-app
composer install
php artisan migrate
登录后复制
登录后复制
最初的应用程序缺少实时更新。 打开两个浏览器的主页。 在一个浏览器中修改待办事项列表,如果没有手动刷新,就不会反映另一个浏览器。让我们添加实时功能。

添加实时功能:

我们将在项目创建,修改和删除上触发三个laravel事件(

)。

>广播事件:ItemCreated ItemUpdated这些事件将实现ItemDeleted>接口。该接口授权A

>返回用于广播的频道数组。 生成事件:

>用原始文章中提供的代码替换

>,

的内容(太长,无法在此处复制)。 这些事件将数据序列化并在ShouldBroadcast频道上广播。broadcastOn>

php artisan make:event ItemCreated
php artisan make:event ItemUpdated
php artisan make:event ItemDeleted
登录后复制
登录后复制
数据库事件:

app/Events/ItemCreated.php>我们将使用Oloquent的模型事件(app/Events/ItemUpdated.phpapp/Events/ItemDeleted.php)来触发我们的广播事件(在服务提供商中(itemAction))。 用原始文章中的代码替换内容(在此处太长而无法复制)。

>

推动器集成:

  1. >注册:创建一个推动器帐户和一个新的应用程序(例如,“ todo-app”)。注意app_idkeysecret

  2. >

    >推动器PHP服务器库:安装推动器PHP服务器库:

    git clone https://github.com/cwt137/l51-todo-app todo-app
    cd todo-app
    composer install
    php artisan migrate
    登录后复制
    登录后复制
  3. > javascript:>在中的关闭</body>标签之前添加以下JavaScript代码:resources/views/index.blade.php

    php artisan make:event ItemCreated
    php artisan make:event ItemUpdated
    php artisan make:event ItemDeleted
    登录后复制
    登录后复制
  4. >>评论现有的javascript:public/js/app.js>中,请评论addItem()>和removeItem()函数呼叫。

  5. 创建pusher.jscreatepublic/js/pusher.js并添加原始文章中的JavaScript代码(在此处太长而无法重现)。这订阅了itemAction频道并处理事件以更新UI。

测试实时应用程序:>

>在您的文件中设置推送器凭据:>

.env>打开两个浏览器窗口。 一个窗口中的更改应立即反映在另一个窗口中。

>
composer require 'pusher/pusher-php-server:2.2.1'
登录后复制

结论:

Laravel 5.1的活动广播简化了PHP中的实时应用程序开发。 此功能与Pusher这样的服务结合使用,提供了一种强大而有效的方法来创建动态和响应迅速的应用程序。 该框架的可扩展性允许根据需要与其他实时解决方案集成。 由于长度,此处省略了原始文章的常见问题解答,但涵盖了Laravel中的事件广播的其他详细信息。

以上是带有Laravel 5.1和活动广播的实时应用程序的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板