8000 Merge branch '6.0' into 6.1 · symfony/symfony@f66e326 · GitHub
[go: up one dir, main page]

Skip to content

Commit f66e326

Browse files
committed
Merge branch '6.0' into 6.1
* 6.0: [DoctrineBridge] Implement EventManager::getAllListeners()
2 parents 3a4166e + 797a623 commit f66e326

File tree

2 files changed

+22
-5
lines changed

2 files changed

+22
-5
lines changed

src/Symfony/Bridge/Doctrine/ContainerAwareEventManager.php

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,15 +74,23 @@ public function dispatchEvent($eventName, EventArgs $eventArgs = null): void
7474
*/
7575
public function getListeners($event = null): array
7676
{
77+
if (null === $event) {
78+
return $this->getAllListeners();
79+
}
7780
if (!$this->initializedSubscribers) {
7881
$this->initializeSubscribers();
7982
}
80-
if (null !== $event) {
81-
if (!isset($this->initialized[$event])) {
82-
$this->initializeListeners($event);
83-
}
83+
if (!isset($this->initialized[$event])) {
84+
$this->initializeListeners($event);
85+
}
8486

85-
return $this->listeners[$event];
87+
return $this->listeners[$event];
88+
}
89+
90+
public function getAllListeners(): array
91+
{
92+
if (!$this->initializedSubscribers) {
93+
$this->initializeSubscribers();
8694
}
8795

8896
foreach ($this->listeners as $event => $listeners) {

src/Symfony/Bridge/Doctrine/Tests/ContainerAwareEventManagerTest.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,15 @@ public function testGetListeners()
180180
$this->assertSame([$listener1, $listener2], array_values($this->evm->getListeners()['foo']));
181181
}
182182

183+
public function testGetAllListeners()
184+
{
185+
$this->container->set('lazy', $listener1 = new MyListener());
186+
$this->evm->addEventListener('foo', 'lazy');
187+
$this->evm->addEventListener('foo', $listener2 = new MyListener());
188+
189+
$this->assertSame([$listener1, $listener2], array_values($this->evm->getAllListeners()['foo']));
190+
}
191+
183192
public function testRemoveEventListener()
184193
{
185194
$this->container->set('lazy', $listener1 = new MyListener());

0 commit comments

Comments
 (0)
0