minetro/events
最新稳定版本:2.0.0
Composer 安装命令:
composer require minetro/events
包简介
Simple events for Nette
README 文档
README
Website 🚀 contributte.org | Contact 👨🏻💻 f3l1x.io | Twitter 🐦 @contributte
Disclaimer
| ⚠️ | This project is no longer being maintained. Please use contributte/event-dispatcher. |
|---|
| Composer | contributte/dummy-events |
|---|---|
| Version | |
| PHP | |
| License |
Documentation
Usage
Register extension
Register in your config file (e.q. config.neon).
extensions: events: Contributte\DummyEvents\DI\EventsExtension
Register events
On Container compile - EventsExtension collect all services which implement EventsSubscriber and call their onEvents($em) method.
use Contributte\DummyEvents\EventsSubscriber; use Contributte\DummyEvents\EventsManager; class TestService implements EventsSubscriber { /** * @param EventsManager $em */ public function onEvents(EventsManager $em) { $em->on('order.update', function($state) { // Some logic.. }); } }
Register lazy events
Name tag as event name with prefix event.
services: {class: TestService, tags: [event.order.update]}
Or use tag arrays with key name events.
services: {class: TestService, tags: [events: [order.update]]}
This prevents usage of other tags.
If EventsSubscriber register more events and also is lazy registered (by tags in neon). Implemented method
onEvents(EventsManager $em) is called only once.
use Contributte\DummyEvents\EventsSubscriber; use Contributte\DummyEvents\EventsManager; class TestSubscriber implements EventsSubscriber { public function onEvents(EventsManager $em) { $em->on('order.create', function($state) { // Some logic.. }); $em->on('order.update', function($state) { // Some logic.. }); $em->on('order.delete', function($state) { // Some logic.. }); } }
Fire events
Inject to your class ultra-simple EventsManager.
use Contributte\DummyEvents\EventsManager; /** @var EventsManager @inject **/ public $em; public function save() { // Some logic.. // Fire order update events $this->em->trigger('order.update', $order->state); }
Development
This package was maintained by these authors.
Consider to support contributte development team. Also thank you for using this package.
统计信息
- 总下载量: 11.58k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-03-10