wyrihaximus/ratchet-model-push

允许模型在写入操作时将数据推送到 wyrihaximus/ratchet。

安装次数: 61 310

依赖者: 0

建议者: 0

安全性: 0

星标: 2

关注者: 4

分支: 1

开放问题: 3

类型:cakephp-plugin

0.1.0 2015-01-22 16:07 UTC

README

Build Status Latest Stable Version Total Downloads Code Coverage License PHP 7 ready

CakePHP Ratchet 插件 提供模型推送功能。

什么是 Ratchet

Ratchet for CakePHP 将 Ratchet websocket 服务器引入 CakePHP。Websockets 允许您在应用程序和访客之间实现近乎实时的通信。例如,使用 Pushable 行为 通知页面相关的数据库记录已更新。

入门指南

1. 要求

此插件依赖于以下插件及其依赖项,并在稍后通过 composer 拉取

2. Composer

请确保您已安装并配置了 composer,并在引导过程中注册了自动加载器,如 此处 所述。请确保您有一个 composer.json 文件,并在您的 required 部分添加以下内容。

composer require wyrihaximus/ratchet-model-push 

设置完成后,运行 composer install

3. 设置插件

请确保在您的引导中加载 RatchetModelPush 以及它所依赖的所有插件及其依赖项,并正确设置。

4. 设置行为

以下代码示例将 Pushable 行为附加到 WyriProject 模型。事件按照以下顺序执行

  1. 在创建新记录时触发,并绑定到 WyriProject.created
  2. 在更新任何记录时触发,并绑定到 WyriProject.updated
  3. 在任何更新记录时触发,并绑定到 WyriProject.updated.{id},其中 {id} 是该记录的 id。因此,如果 id1,则绑定到 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

特此授予任何获得本软件及其相关文档副本(以下简称“软件”)的人免费使用软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许软件提供方使用软件的权利,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的任何副本或主要部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和无侵权性的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该责任源于合同、侵权或其他方式,与软件或软件的使用或其他交易有关。