35
A
回答
65
創建延伸Symfony\Component\EventDispatcher\Event
類。
然後,使用事件調度服務調度的事件:
$eventDispatcher = $container->get('event_dispatcher');
$eventDispatcher->dispatch('custom.event.identifier', $event);
你可以像這樣註冊事件偵聽器服務:
tags:
- { name: kernel.event_listener, event: custom.event.identifier, method: onCustomEvent }
19
這個答案有點擴大answer。
services.yml
custom.event.home_page_event:
class: AppBundle\EventSubscriber\HomePageEventSubscriber
tags:
- { name: kernel.event_listener, event: custom.event.home_page_event, method: onCustomEvent }
的appbundle/EventSubscriber/HomePageEventSubscriber.php
namespace AppBundle\EventSubscriber;
class HomePageEventSubscriber
{
public function onCustomEvent($event)
{
var_dump($event->getCode());
}
}
的appbundle /事件/ HomePageEvent.php
namespace AppBundle\Event;
use Symfony\Component\EventDispatcher\Event;
class HomePageEvent extends Event
{
private $code;
public function setCode($code)
{
$this->code = $code;
}
public function getCode()
{
return $this->code;
}
}
任何你願意的話,例如在家裏頁面控制器
use AppBundle\Event\HomePageEvent;
// ...
$eventDispatcher = $this->get('event_dispatcher');
$event = new HomePageEvent();
$event->setCode(200);
$eventDispatcher->dispatch('custom.event.home_page_event', $event);
+0
太棒了!很有幫助! – iamjc015 2016-09-14 09:42:45
+0
@JCFrane歡迎隨時! – 2016-09-14 09:55:51
相關問題
- 1. 如何創建自定義事件?
- 2. 在.net中創建自定義事件
- 3. 創建自定義事件
- 4. 如何在自定義控件中創建名爲valuechanged的自定義事件
- 5. 如何在symfony2中爲自定義類創建服務容器
- 6. 如何在symfony2中創建自定義字段類型?
- 7. 如何在vb.net中創建自定義事件
- 8. 如何在node.js + socket.io中創建自定義客戶端事件
- 9. 如何在jquery中創建自定義事件?
- 10. 如何在C中創建自定義事件#
- 11. 如何在Windows中創建自定義事件?
- 12. 在video-js中如何創建自定義事件?
- 13. 如何在Javascript中創建自定義事件類?
- 14. 如何在Qt中創建自定義車輪事件?
- 15. 如何在node.js(express.js)中創建自定義事件偵聽器?
- 16. 如何在jQuery中創建自定義事件
- 17. 如何在jQuery中創建自定義事件
- 18. 如何在jQuery中創建自定義onEnter事件?
- 19. jQuery插件創建自定義事件
- 20. 我如何爲自定義控件創建可綁定事件?
- 21. Silverlight自定義控件創建自定義事件
- 22. Symfony2&Doctrine:創建自定義SQL查詢
- 23. Symfony2&Doctrine2:創建自定義註釋
- 24. 如何在屬性更改時創建自定義事件?
- 25. Javascript創建自定義事件
- 26. 創建自定義wpf事件
- 27. angularjs創建自定義事件指令
- 28. 用scalajs創建自定義DOM事件
- 29. jQuery:創建一個自定義事件
- 30. 創建和發送自定義事件
很好的答案。另外,這裏有更多的細節:http://symfony.com/doc/current/components/event_dispatcher/introduction.html – gview 2012-07-26 01:44:05
確實,但這是一個足夠簡單的方法開始。 – Lusitanian 2012-07-26 01:45:17
優秀的答案!!現在唯一的問題是哪裏是派遣自定義事件的最佳地點?也許服務? – Nico 2013-08-07 19:05:26