alvarium / carrot-cake
RabbitMQ插件用于CakePHP
dev-master
2019-03-25 11:48 UTC
Requires
- cakephp/cakephp: ^3.5
- php-amqplib/php-amqplib: ^2.8
Requires (Dev)
- phpunit/phpunit: ^5.7.14|^6.0
This package is auto-updated.
Last update: 2024-08-25 23:39:52 UTC
README
Carrot Cake是一个用于发布和订阅RabbitMQ队列/交换机的CakePHP插件。
顺便说一下,我们喜欢像日语一样发音: Kyarottokēki(キャロットケーキ),这就是为什么我们在标题中这样写 😄。
安装
您可以使用composer将此插件安装到您的CakePHP应用程序中。
安装composer包的推荐方法是
composer require alvarium/carrot-cake
使用方法
配置
您可以通过在配置文件下添加一个rabbit.php
文件来创建默认设置文件。插件将使用这些设置作为默认值,但您可以在稍后覆盖它们,每个加载的组件都可以。
此文件的配置可以是以下设置中的任何一种
<?php return [ 'rabbit' => [ 'server' => [ 'host' => 'rabbit', 'port' => 5672, 'user' => 'guest', 'password' => 'guest', 'vhost' => '/', 'type' => 'direct', ], 'behavior' => [ // Check out the behavior section for details about its settings ], 'component' => [ // Check out the component section for details about its settings ], ], ];
发布者行为
首先,您需要在所需的表中加载行为,在此过程中,您可以覆盖之前定义的任何设置以及一些特定于行为的具体设置,例如使用的交换(默认为tablename
)
<?php namespace App\Model\Table; use Cake\ORM\Table; class ArticlesTable extends Table { public function initialize(array $config) { parent::initialize($config); $this->addBehaviors([ 'Alvarium/CarrotCake.Publisher' => [ 'vhost' => '/custom-vhost', 'exchange' => 'custom_exchange_name', ], ]) } }
默认情况下,行为将向exchange.route
发送有效载荷,其中路由可以是以下任意一个
- created
- updated
- deleted
当然,您也可以通过设置routes
键并设置每个路由的所需名称来更改这些设置
$this->addBehaviors([ 'Alvarium/CarrotCake.Publisher' => [ 'routes' => [ 'create' => 'published', 'update' => 'changed', 'delete' => 'unpublished', ], ], ])
检查清单
- 发布者
- 行为
- 组件
- 消费者
- 组件
许可证
版权所有 Alvarium.io (c) 2019