wyrihaximus / ratchet-model-push
允许模型在写入操作中将数据推送到 wyrihaximus/ratchet。
Requires
This package is auto-updated.
Last update: 2024-09-03 10:08:04 UTC
README
为 CakePHP Ratchet 插件 提供模型推送。
Ratchet 是什么
Ratchet for CakePHP 将 Ratchet websocket 服务器引入 CakePHP。Websockets 允许您在应用程序和访客之间实现近乎实时的通信。例如,使用 可推送行为 通知页面数据库中相关记录已被更新。
入门指南
1. 要求
此插件依赖于以下插件及其依赖关系,并由 composer 在稍后拉入
2. Composer
请确保您已安装并配置了 composer,并在引导过程中注册了自动加载器,如 此处 所述。请确保您有一个 composer.json 文件,并将以下内容添加到您的“required”部分。
composer require wyrihaximus/ratchet-model-push
设置完毕后,运行 composer install
。
3. 设置插件
请确保在引导文件中加载 RatchetModelPush
及其所有依赖插件及其依赖关系,并正确设置。
4. 设置行为
以下代码示例将可推送行为附加到 WyriProject
模型。事件按照以下顺序执行
- 在创建新记录时触发,绑定到
WyriProject.created
。 - 在更新任何记录时触发,绑定到
WyriProject.updated
。 - 在更新任何记录时触发,绑定到
WyriProject.updated.{id}
,其中{id}
是该记录的id
。因此,如果id
为1
,则绑定到WyriProject.updated.1
。
数据以一维数组的形式传递到事件中。
<?php class Model extends AppModel { public $actsAs = array( 'RatchetModelPush.Pushable' => array( 'events' => array( array( 'eventName' => 'WyriProject.created', 'created' => true, ), array( 'eventName' => 'WyriProject.updated', 'created' => false, ), array( 'eventName' => 'WyriProject.updated.{id}', 'created' => false, 'fields' => true, ), ), ), ); }
5. 客户端
在客户端,唯一需要做的是订阅事件
cakeWamp.subscribe('Rachet.WampServer.ModelUpdate.WyriProject.updated.1', function(topicUri, event) { // Do your stuff with the data });
注意:您订阅的实际事件以 Rachet.WampServer.ModelUpdate.
为前缀。
请确保在视图中包含 JavaScript 文件及其依赖项
echo $this->Html->script(array( 'Ratchet.when/when', 'Ratchet.autobahn/autobahn', 'Ratchet.cake-wamp' ));
插件许可协议
(MIT 许可证)
版权所有 © 2012 - 2013 Cees-Jan Kiewiet
在此特此免费许可,任何人只要获得此软件及其相关的文档文件(“软件”)的副本(“软件”),就可以不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向软件提供者提供软件的人这样做,前提是遵守以下条件
上述版权声明和本许可协议应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的,包括但不限于关于适销性、适用于特定目的和不侵犯知识产权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该责任是由于合同行为、侵权或其他原因引起的,无论该索赔、损害或其他责任是否与软件或软件的使用或其他方式相关。