land / yii2-amqp
Yii2 AMQP 扩展(php-amqplib 包装器)。
dev-master
2018-12-18 05:22 UTC
Requires
- php: >=7.1
- ext-json: *
- php-amqplib/php-amqplib: ^2.8
- yiisoft/yii2: ^2.0.15
Requires (Dev)
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^7.5
- roave/security-advisories: dev-master
Suggests
- ext-pcntl: Use pcntl extension
- ext-posix: Use posix extension
This package is auto-updated.
Last update: 2024-09-18 18:13:24 UTC
README
Yii2 AMQP 扩展
安装
您只需运行以下命令
composer require sima-land/yii2-amqp
配置
示例配置
return [ 'components' => [ 'amqp' => [ 'class' => \simaland\amqp\Component::class, 'connection' => [ 'dsn' => 'amqp://user:password@host:port/vHost?<param>=<value>' ], 'queues' => [ [ 'name' => 'queueName', ], ], 'exchanges' => [ [ 'name' => 'exchangeName', ], ], 'routing' => [ [ 'sourceExchange' => 'exchangeName', 'targetQueue' => 'queueName', ], ], 'consumer' => [ 'callbacks' => [ 'queueName' => <implement of \simaland\amqp\components\consumer\CallbackInterface::class>, ], ], ], ], ];
测试
您必须通过运行此命令来测试您的更改
composer test
示例
class AmpqController { public function actionSend() { $msg = \Yii::$app->amqp->createMessage('Test'); $exchange = \Yii::$app->amqp->exchanges->current(); $exchange->declare(); \Yii::$app->amqp->producer->publish($msg, $exchange); } public function actionListen() { \Yii::$app->amqp->consumer->declare(); \Yii::$app->amqp->consumer->consume(); }