Laravel 5.1的活动广播简化了PHP中的实时应用程序开发。此功能使发布事件可用于实时PubSub解决方案,例如Pusher或Redis。 本文演示了使用此功能构建实时的待办事项应用程序。
>
>
密钥概念:
ShouldBroadcast
Pusher无缝集成。 您需要一个推送帐户及其服务器库。推送器JavaScript客户端处理客户端事件处理。最简单的方法是改进了宅基地。 另外,请确保安装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.php
,app/Events/ItemDeleted.php
)来触发我们的广播事件(在服务提供商中(itemAction
))。 用原始文章中的代码替换内容(在此处太长而无法复制)。
推动器集成:
>注册:创建一个推动器帐户和一个新的应用程序(例如,“ todo-app”)。注意app_id
,key
和secret
。
>推动器PHP服务器库:安装推动器PHP服务器库:
git clone https://github.com/cwt137/l51-todo-app todo-app cd todo-app composer install php artisan migrate
> javascript:>在中的关闭</body>
标签之前添加以下JavaScript代码:resources/views/index.blade.php
:
php artisan make:event ItemCreated php artisan make:event ItemUpdated php artisan make:event ItemDeleted
>>评论现有的javascript:在public/js/app.js
>中,请评论addItem()
>和removeItem()
函数呼叫。
创建pusher.js
:public/js/pusher.js
并添加原始文章中的JavaScript代码(在此处太长而无法重现)。这订阅了itemAction
频道并处理事件以更新UI。
测试实时应用程序:>
>在您的
.env
>打开两个浏览器窗口。 一个窗口中的更改应立即反映在另一个窗口中。
composer require 'pusher/pusher-php-server:2.2.1'
结论:
以上是带有Laravel 5.1和活动广播的实时应用程序的详细内容。更多信息请关注PHP中文网其他相关文章!