alvarium/carrot-cake

RabbitMQ插件用于CakePHP

安装次数: 1,093

依赖关系: 0

建议者: 0

安全性: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:cakephp-plugin

dev-master 2019-03-25 11:48 UTC

This package is auto-updated.

Last update: 2024-08-25 23:39:52 UTC


README

pipeline status coverage status

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',
    ],
  ],
])

检查清单

  • 发布者
    • 行为
    • 组件
  • 消费者
    • 组件

许可证

MIT许可证

版权所有 Alvarium.io (c) 2019