yiicod/yii2-listener
Composer 安装命令:
composer require yiicod/yii2-listener
包简介
The simple and powerful event listener for the Yii2 framework
README 文档
README
Provides listener logic. Command parses chosen paths to find all listener/subscribers (depends on ListenerInterface and SubscriberInterface implementation). Where listener can be used for single event and subscriber can be used for bunch of events.
Installation
Either run
php composer.phar require --prefer-dist yiicod/yii2-listener "*"
or add
"yii2-listener": "*"
to your composer.json file
Web config
'bootstrap' => ['listener'], 'components' => [ 'listener' => [ 'class' => 'yiicod\listener\components\Listener' ], ]
Console config
'controllerMap' => [ 'listener' => [ 'class' => \yiicod\listener\commands\Listener::class ], ]
Run command. This command will warm and prepare all listeners and subscriptions. Run this command each time when you create new Listener or Subscription.
listener/parse
For trigger event use yii manual: http://www.yiiframework.com/doc-2.0/guide-concept-events.html#class-level-event-handlers
Listener usage
namespace frontend\observers\listeners; use yii\db\ActiveRecord; use yiicod\listener\components\listeners\ListenerAbstract; class TestListener extends ListenerAbstract { /** * Call on event method */ public function handle($event) { // TODO: Implement handle() method. } /** * Return event name for emit * @return string */ public static function event(): string { return ActiveRecord::class . '@' . ActiveRecord::EVENT_AFTER_FIND; } }
Usage subscriber
namespace frontend\observers\subscribers; use yii\db\ActiveRecord; use yiicod\listener\components\listeners\SubscriberAbstract; class TestSubscriber extends SubscriberAbstract { /** * @return array * [ * 'event_class@event1' => 'on' * 'event_class@event2' => 'on' * ] */ public static function subscribe(): array { return [ ActiveRecord::class . '@' . ActiveRecord::EVENT_BEFORE_INSERT => 'on', ActiveRecord::class . '@' . ActiveRecord::EVENT_AFTER_INSERT => 'on' ]; } /** * Call on event method */ public function on($event) { // Handle } }
yiicod/yii2-listener 适用场景与选型建议
yiicod/yii2-listener 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 10.8k 次下载、GitHub Stars 达 14, 最近一次更新时间为 2015 年 05 月 29 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 yiicod/yii2-listener 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 yiicod/yii2-listener 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 10.8k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 14
- 点击次数: 15
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-05-29