Skip to content
This repository was archived by the owner on Jan 29, 2020. It is now read-only.

Commit 45495ad

Browse files
committed
Deprecations/additions for 2.6.0
- [X] Mark GlobalEventManager as deprecated - [X] Mark StaticEventManager as deprecated - [X] Mark EventManager::setSharedManager as deprecated - [X] Add SharedEventsCapableInterface - [X] Updated SharedEventManagerAwareInterface to extend SharedEventsCapableInterface - [X] Mark EventManager::unsetSharedManager as deprecated - [X] Mark EventManager(Interface)?::getEvents as deprecated - [X] Mark EventManager(Interface)?::getListeners as deprecated - [X] Mark EventManager(Interface)?::setEventClass as deprecated - [X] Mark EventManager(Interface)?::attachAggregate as deprecated - [X] Mark EventManager(Interface)?::detachAggregate as deprecated - [X] Mark SharedListenerAggregateInterface as deprecated - [X] Mark SharedEventAggregateAwareInterface as deprecated - [X] Mark SharedEventManagerAwareInterface as deprecated - [X] Mark SharedEventManager(Interface)?::getEvents as deprecated - [X] Add EventManager::triggerEvent() (but not at interface level) - [X] Add EventManager::triggerEventUntil() (but not at interface level)
1 parent f5d3956 commit 45495ad

11 files changed

+186
-11
lines changed

src/EventManager.php

+44
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ public function __construct($identifiers = null)
6262
/**
6363
* Set the event class to utilize
6464
*
65+
* @deprecated This method is deprecated with 2.6.0, and will be removed in
66+
* 3.0.0. See {@link https://github.com/zendframework/zend-eventmanager/blob/develop/doc/book/migration/removed.md}
67+
* for details.
6568
* @param string $class
6669
* @return EventManager
6770
*/
@@ -74,6 +77,9 @@ public function setEventClass($class)
7477
/**
7578
* Set shared event manager
7679
*
80+
* @deprecated This method is deprecated with 2.6.0, and will be removed in
81+
* 3.0.0. See {@link https://github.com/zendframework/zend-eventmanager/blob/develop/doc/book/migration/removed.md}
82+
* for details.
7783
* @param SharedEventManagerInterface $sharedEventManager
7884
* @return EventManager
7985
*/
@@ -87,6 +93,9 @@ public function setSharedManager(SharedEventManagerInterface $sharedEventManager
8793
/**
8894
* Remove any shared event manager currently attached
8995
*
96+
* @deprecated This method is deprecated with 2.6.0, and will be removed in
97+
* 3.0.0. See {@link https://github.com/zendframework/zend-eventmanager/blob/develop/doc/book/migration/removed.md}
98+
* for details.
9099
* @return void
91100
*/
92101
public function unsetSharedManager()
@@ -229,6 +238,29 @@ public function triggerUntil($event, $target, $argv = null, $callback = null)
229238
return $this->trigger($event, $target, $argv, $callback);
230239
}
231240

241+
/**
242+
* Trigger an event instance.
243+
*
244+
* @param EventInterface $event
245+
* @return ResponseCollection
246+
*/
247+
public function triggerEvent(EventInterface $event)
248+
{
249+
return $this->triggerListeners($event->getName(), $event);
250+
}
251+
252+
/**
253+
* Trigger an event instance, short-circuiting if a listener response evaluates true via the callback.
254+
*
255+
* @param callable $callback
256+
* @param EventInterface $event
257+
* @return ResponseCollection
258+
*/
259+
public function triggerEventUntil(callable $callback, EventInterface $event)
260+
{
261+
return $this->triggerListeners($event->getName(), $event, $callback);
262+
}
263+
232264
/**
233265
* Attach a listener to an event
234266
*
@@ -293,6 +325,9 @@ public function attach($event, $callback = null, $priority = 1)
293325
* one or more times, typically to attach to multiple events using local
294326
* methods.
295327
*
328+
* @deprecated This method is deprecated with 2.6.0, and will be removed in
329+
* 3.0.0. See {@link https://github.com/zendframework/zend-eventmanager/blob/develop/doc/book/migration/removed.md}
330+
* for details.
296331
* @param ListenerAggregateInterface $aggregate
297332
* @param int $priority If provided, a suggested priority for the aggregate to use
298333
* @return mixed return value of {@link ListenerAggregateInterface::attach()}
@@ -343,6 +378,9 @@ public function detach($listener)
343378
* Listener aggregates accept an EventManagerInterface instance, and call detach()
344379
* of all previously attached listeners.
345380
*
381+
* @deprecated This method is deprecated with 2.6.0, and will be removed in
382+
* 3.0.0. See {@link https://github.com/zendframework/zend-eventmanager/blob/develop/doc/book/migration/removed.md}
383+
* for details.
346384
* @param ListenerAggregateInterface $aggregate
347385
* @return mixed return value of {@link ListenerAggregateInterface::detach()}
348386
*/
@@ -354,6 +392,9 @@ public function detachAggregate(ListenerAggregateInterface $aggregate)
354392
/**
355393
* Retrieve all registered events
356394
*
395+
* @deprecated This method is deprecated with 2.6.0, and will be removed in
396+
* 3.0.0. See {@link https://github.com/zendframework/zend-eventmanager/blob/develop/doc/book/migration/removed.md}
397+
* for details.
357398
* @return array
358399
*/
359400
public function getEvents()
@@ -364,6 +405,9 @@ public function getEvents()
364405
/**
365406
* Retrieve all listeners for a given event
366407
*
408+
* @deprecated This method is deprecated with 2.6.0, and will be removed in
409+
* 3.0.0. See {@link https://github.com/zendframework/zend-eventmanager/blob/develop/doc/book/migration/removed.md}
410+
* for details.
367411
* @param string $event
368412
* @return PriorityQueue
369413
*/

src/EventManagerInterface.php

+15
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,19 @@ public function detach($listener);
7474
/**
7575
* Get a list of events for which this collection has listeners
7676
*
77+
* @deprecated This method is deprecated with 2.6.0, and will be removed in
78+
* 3.0.0. See {@link https://github.com/zendframework/zend-eventmanager/blob/develop/doc/book/migration/removed.md}
79+
* for details.
7780
* @return array
7881
*/
7982
public function getEvents();
8083

8184
/**
8285
* Retrieve a list of listeners registered to a given event
8386
*
87+
* @deprecated This method is deprecated with 2.6.0, and will be removed in
88+
* 3.0.0. See {@link https://github.com/zendframework/zend-eventmanager/blob/develop/doc/book/migration/removed.md}
89+
* for details.
8490
* @param string $event
8591
* @return array|object
8692
*/
@@ -97,6 +103,9 @@ public function clearListeners($event);
97103
/**
98104
* Set the event class to utilize
99105
*
106+
* @deprecated This method is deprecated with 2.6.0, and will be removed in
107+
* 3.0.0. See {@link https://github.com/zendframework/zend-eventmanager/blob/develop/doc/book/migration/removed.md}
108+
* for details.
100109
* @param string $class
101110
* @return EventManagerInterface
102111
*/
@@ -128,6 +137,9 @@ public function addIdentifiers($identifiers);
128137
/**
129138
* Attach a listener aggregate
130139
*
140+
* @deprecated This method is deprecated with 2.6.0, and will be removed in
141+
* 3.0.0. See {@link https://github.com/zendframework/zend-eventmanager/blob/develop/doc/book/migration/removed.md}
142+
* for details.
131143
* @param ListenerAggregateInterface $aggregate
132144
* @param int $priority If provided, a suggested priority for the aggregate to use
133145
* @return mixed return value of {@link ListenerAggregateInterface::attach()}
@@ -137,6 +149,9 @@ public function attachAggregate(ListenerAggregateInterface $aggregate, $priority
137149
/**
138150
* Detach a listener aggregate
139151
*
152+
* @deprecated This method is deprecated with 2.6.0, and will be removed in
153+
* 3.0.0. See {@link https://github.com/zendframework/zend-eventmanager/blob/develop/doc/book/migration/removed.md}
154+
* for details.
140155
* @param ListenerAggregateInterface $aggregate
141156
* @return mixed return value of {@link ListenerAggregateInterface::detach()}
142157
*/

src/GlobalEventManager.php

+4
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@
1717
*
1818
* Use the EventManager when you want to create a per-instance notification
1919
* system for your objects.
20+
*
21+
* @deprecated This class is deprecated with 2.6.0, and will be removed in
22+
* 3.0.0. See {@link https://github.com/zendframework/zend-eventmanager/blob/develop/doc/book/migration/removed.md}
23+
* for details.
2024
*/
2125
class GlobalEventManager
2226
{

src/SharedEventAggregateAwareInterface.php

+4
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111

1212
/**
1313
* Interface for allowing attachment of shared aggregate listeners.
14+
*
15+
* @deprecated This interface is deprecated with 2.6.0, and will be removed in
16+
* 3.0.0. See {@link https://github.com/zendframework/zend-eventmanager/blob/develop/doc/book/migration/removed.md}
17+
* for details.
1418
*/
1519
interface SharedEventAggregateAwareInterface
1620
{

src/SharedEventManager.php

+3
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@ public function detachAggregate(SharedListenerAggregateInterface $aggregate)
123123
/**
124124
* Retrieve all registered events for a given resource
125125
*
126+
* @deprecated This method is deprecated with 2.6.0, and will be removed in
127+
* 3.0.0. See {@link https://github.com/zendframework/zend-eventmanager/blob/develop/doc/book/migration/removed.md}
128+
* for details.
126129
* @param string|int $id
127130
* @return array
128131
*/

src/SharedEventManagerAwareInterface.php

+5-8
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,12 @@
1111

1212
/**
1313
* Interface to automate setter injection for a SharedEventManagerInterface instance
14+
*
15+
* @deprecated This interface is deprecated with 2.6.0, and will be removed in
16+
* 3.0.0. See {@link https://github.com/zendframework/zend-eventmanager/blob/develop/doc/book/migration/removed.md}
17+
* for details.
1418
*/
15-
interface SharedEventManagerAwareInterface
19+
interface SharedEventManagerAwareInterface extends SharedEventsCapableInterface
1620
{
1721
/**
1822
* Inject a SharedEventManager instance
@@ -22,13 +26,6 @@ interface SharedEventManagerAwareInterface
2226
*/
2327
public function setSharedManager(SharedEventManagerInterface $sharedEventManager);
2428

25-
/**
26-
* Get shared collections container
27-
*
28-
* @return SharedEventManagerInterface
29-
*/
30-
public function getSharedManager();
31-
3229
/**
3330
* Remove any shared collections
3431
*

src/SharedEventManagerInterface.php

+3
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ public function detach($id, CallbackHandler $listener);
4949
/**
5050
* Retrieve all registered events for a given resource
5151
*
52+
* @deprecated This method is deprecated with 2.6.0, and will be removed in
53+
* 3.0.0. See {@link https://github.com/zendframework/zend-eventmanager/blob/develop/doc/book/migration/removed.md}
54+
* for details.
5255
* @param string|int $id
5356
* @return array
5457
*/

src/SharedEventsCapableInterface.php

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
/**
3+
* Zend Framework (http://framework.zend.com/)
4+
*
5+
* @link http://github.com/zendframework/zend-eventmanager for the canonical source repository
6+
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
7+
* @license https://github.com/zendframework/zend-eventmanager/blob/master/LICENSE.md
8+
*/
9+
10+
namespace Zend\EventManager;
11+
12+
/**
13+
* Interface indicating that an object composes or can compose a
14+
* SharedEventManagerInterface instance.
15+
*/
16+
interface SharedEventsCapableInterface
17+
{
18+
/**
19+
* Retrieve the shared event manager, if composed.
20+
*
21+
* @return null|SharedEventManagerInterface
22+
*/
23+
public function getSharedManager();
24+
}

src/SharedListenerAggregateInterface.php

+4
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616
* with a SharedEventManager, without an event name. The {@link attach()} method will
1717
* then be called with the current SharedEventManager instance, allowing the class to
1818
* wire up one or more listeners.
19+
*
20+
* @deprecated This interface is deprecated with 2.6.0, and will be removed in
21+
* 3.0.0. See {@link https://github.com/zendframework/zend-eventmanager/blob/develop/doc/book/migration/removed.md}
22+
* for details.
1923
*/
2024
interface SharedListenerAggregateInterface
2125
{

src/StaticEventManager.php

+4
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111

1212
/**
1313
* Static version of EventManager
14+
*
15+
* @deprecated This class is deprecated with 2.6.0, and will be removed in
16+
* 3.0.0. See {@link https://github.com/zendframework/zend-eventmanager/blob/develop/doc/book/migration/removed.md}
17+
* for details.
1418
*/
1519
class StaticEventManager extends SharedEventManager
1620
{

0 commit comments

Comments
 (0)