Browse Source

Merge pull request #7070 from robertpustulka/3.0-event-dispatcher-trait

3.0 Renamed EventManagerTrait to EventDispatcherTrait…
Mark Story 10 years ago
parent
commit
28794510ef

+ 2 - 2
src/Controller/Component/AuthComponent.php

@@ -19,7 +19,7 @@ use Cake\Controller\Controller;
 use Cake\Core\App;
 use Cake\Core\Exception\Exception;
 use Cake\Event\Event;
-use Cake\Event\EventManagerTrait;
+use Cake\Event\EventDispatcherTrait;
 use Cake\Network\Exception\ForbiddenException;
 use Cake\Network\Request;
 use Cake\Network\Response;
@@ -36,7 +36,7 @@ use Cake\Utility\Hash;
 class AuthComponent extends Component
 {
 
-    use EventManagerTrait;
+    use EventDispatcherTrait;
 
     /**
      * Constant for 'all'

+ 2 - 2
src/Controller/ComponentRegistry.php

@@ -18,7 +18,7 @@ use Cake\Controller\Exception\MissingComponentException;
 use Cake\Core\App;
 use Cake\Core\ObjectRegistry;
 use Cake\Event\EventDispatcherInterface;
-use Cake\Event\EventManagerTrait;
+use Cake\Event\EventDispatcherTrait;
 
 /**
  * ComponentRegistry is a registry for loaded components
@@ -28,7 +28,7 @@ use Cake\Event\EventManagerTrait;
 class ComponentRegistry extends ObjectRegistry implements EventDispatcherInterface
 {
 
-    use EventManagerTrait;
+    use EventDispatcherTrait;
 
     /**
      * The controller that this collection was initialized with.

+ 2 - 2
src/Controller/Controller.php

@@ -19,7 +19,7 @@ use Cake\Datasource\ModelAwareTrait;
 use Cake\Event\Event;
 use Cake\Event\EventDispatcherInterface;
 use Cake\Event\EventListenerInterface;
-use Cake\Event\EventManagerTrait;
+use Cake\Event\EventDispatcherTrait;
 use Cake\Log\LogTrait;
 use Cake\Network\Request;
 use Cake\Network\Response;
@@ -84,7 +84,7 @@ use RuntimeException;
 class Controller implements EventListenerInterface, EventDispatcherInterface
 {
 
-    use EventManagerTrait;
+    use EventDispatcherTrait;
     use LogTrait;
     use MergeVariablesTrait;
     use ModelAwareTrait;

+ 1 - 1
src/Core/ObjectRegistry.php

@@ -28,7 +28,7 @@ use RuntimeException;
  * the template method load().
  *
  * The ObjectRegistry is EventManager aware, but each extending class will need to use
- * \Cake\Event\EventManagerTrait to attach and detach on set and bind
+ * \Cake\Event\EventDispatcherTrait to attach and detach on set and bind
  *
  * @see \Cake\Controller\ComponentRegistry
  * @see \Cake\View\HelperRegistry

+ 1 - 1
src/Event/EventDispatcherInterface.php

@@ -22,7 +22,7 @@ use Cake\Event\EventManager;
  * Objects with this interface can trigger events, and have
  * an event manager retrieved from them.
  *
- * The Cake\Event\EventManagerTrait lets you easily implement
+ * The Cake\Event\EventDispatcherTrait lets you easily implement
  * this interface.
  */
 interface EventDispatcherInterface

+ 82 - 0
src/Event/EventDispatcherTrait.php

@@ -0,0 +1,82 @@
+<?php
+/**
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * For full copyright and license information, please see the LICENSE.txt
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link          http://cakephp.org CakePHP(tm) Project
+ * @since         3.0.10
+ * @license       http://www.opensource.org/licenses/mit-license.php MIT License
+ */
+namespace Cake\Event;
+
+/**
+ * Implements Cake\Event\EventDispatcherInterface.
+ *
+ */
+trait EventDispatcherTrait
+{
+
+    /**
+     * Instance of the Cake\Event\EventManager this object is using
+     * to dispatch inner events.
+     *
+     * @var \Cake\Event\EventManager
+     */
+    protected $_eventManager = null;
+
+    /**
+     * Default class name for new event objects.
+     *
+     * @var string
+     */
+    protected $_eventClass = '\Cake\Event\Event';
+
+    /**
+     * Returns the Cake\Event\EventManager manager instance for this object.
+     *
+     * You can use this instance to register any new listeners or callbacks to the
+     * object events, or create your own events and trigger them at will.
+     *
+     * @param \Cake\Event\EventManager|null $eventManager the eventManager to set
+     * @return \Cake\Event\EventManager
+     */
+    public function eventManager(EventManager $eventManager = null)
+    {
+        if ($eventManager !== null) {
+            $this->_eventManager = $eventManager;
+        } elseif (empty($this->_eventManager)) {
+            $this->_eventManager = new EventManager();
+        }
+        return $this->_eventManager;
+    }
+
+    /**
+     * Wrapper for creating and dispatching events.
+     *
+     * Returns a dispatched event.
+     *
+     * @param string $name Name of the event.
+     * @param array|null $data Any value you wish to be transported with this event to
+     * it can be read by listeners.
+     * @param object|null $subject The object that this event applies to
+     * ($this by default).
+     *
+     * @return \Cake\Event\Event
+     */
+    public function dispatchEvent($name, $data = null, $subject = null)
+    {
+        if ($subject === null) {
+            $subject = $this;
+        }
+
+        $event = new $this->_eventClass($name, $subject, $data);
+        $this->eventManager()->dispatch($event);
+
+        return $event;
+    }
+}

+ 2 - 58
src/Event/EventManagerTrait.php

@@ -17,66 +17,10 @@ namespace Cake\Event;
 /**
  * Provides the event manager interface features for usage in classes that require it.
  *
+ * @deprecated 3.0.10 Use Cake\Event\EventDispatcherTrait instead.
  */
 trait EventManagerTrait
 {
 
-    /**
-     * Instance of the Cake\Event\EventManager this object is using
-     * to dispatch inner events.
-     *
-     * @var \Cake\Event\EventManager
-     */
-    protected $_eventManager = null;
-
-    /**
-     * Default class name for new event objects.
-     *
-     * @var string
-     */
-    protected $_eventClass = '\Cake\Event\Event';
-
-    /**
-     * Returns the Cake\Event\EventManager manager instance for this object.
-     *
-     * You can use this instance to register any new listeners or callbacks to the
-     * object events, or create your own events and trigger them at will.
-     *
-     * @param \Cake\Event\EventManager|null $eventManager the eventManager to set
-     * @return \Cake\Event\EventManager
-     */
-    public function eventManager(EventManager $eventManager = null)
-    {
-        if ($eventManager !== null) {
-            $this->_eventManager = $eventManager;
-        } elseif (empty($this->_eventManager)) {
-            $this->_eventManager = new EventManager();
-        }
-        return $this->_eventManager;
-    }
-
-    /**
-     * Wrapper for creating and dispatching events.
-     *
-     * Returns a dispatched event.
-     *
-     * @param string $name Name of the event.
-     * @param array|null $data Any value you wish to be transported with this event to
-     * it can be read by listeners.
-     * @param object|null $subject The object that this event applies to
-     * ($this by default).
-     *
-     * @return \Cake\Event\Event
-     */
-    public function dispatchEvent($name, $data = null, $subject = null)
-    {
-        if ($subject === null) {
-            $subject = $this;
-        }
-
-        $event = new $this->_eventClass($name, $subject, $data);
-        $this->eventManager()->dispatch($event);
-
-        return $event;
-    }
+    use EventDispatcherTrait;
 }

+ 2 - 2
src/Event/README.md

@@ -13,12 +13,12 @@ of the action.
 
 ```php
 use Cake\Event\Event;
-use Cake\Event\EventManagerTrait;
+use Cake\Event\EventDispatcherTrait;
 
 class Orders
 {
 
-	use EventManagerTrait;
+	use EventDispatcherTrait;
 
 	public function placeOrder($order)
 	{

+ 2 - 2
src/ORM/BehaviorRegistry.php

@@ -18,7 +18,7 @@ use BadMethodCallException;
 use Cake\Core\App;
 use Cake\Core\ObjectRegistry;
 use Cake\Event\EventDispatcherInterface;
-use Cake\Event\EventManagerTrait;
+use Cake\Event\EventDispatcherTrait;
 use Cake\ORM\Behavior;
 use Cake\ORM\Exception\MissingBehaviorException;
 use Cake\ORM\Table;
@@ -33,7 +33,7 @@ use LogicException;
 class BehaviorRegistry extends ObjectRegistry implements EventDispatcherInterface
 {
 
-    use EventManagerTrait;
+    use EventDispatcherTrait;
 
     /**
      * The table using this registry.

+ 2 - 2
src/ORM/Table.php

@@ -27,7 +27,7 @@ use Cake\Datasource\RulesAwareTrait;
 use Cake\Event\EventDispatcherInterface;
 use Cake\Event\EventListenerInterface;
 use Cake\Event\EventManager;
-use Cake\Event\EventManagerTrait;
+use Cake\Event\EventDispatcherTrait;
 use Cake\ORM\AssociationCollection;
 use Cake\ORM\Association\BelongsTo;
 use Cake\ORM\Association\BelongsToMany;
@@ -122,7 +122,7 @@ use RuntimeException;
 class Table implements RepositoryInterface, EventListenerInterface, EventDispatcherInterface
 {
 
-    use EventManagerTrait;
+    use EventDispatcherTrait;
     use RulesAwareTrait;
     use ValidatorAwareTrait;
 

+ 2 - 2
src/Routing/Dispatcher.php

@@ -16,7 +16,7 @@ namespace Cake\Routing;
 
 use Cake\Controller\Controller;
 use Cake\Event\EventListenerInterface;
-use Cake\Event\EventManagerTrait;
+use Cake\Event\EventDispatcherTrait;
 use Cake\Network\Request;
 use Cake\Network\Response;
 use Cake\Routing\Exception\MissingControllerException;
@@ -31,7 +31,7 @@ use LogicException;
 class Dispatcher
 {
 
-    use EventManagerTrait;
+    use EventDispatcherTrait;
 
     /**
      * Connected filter objects

+ 2 - 2
src/View/Cell.php

@@ -16,7 +16,7 @@ namespace Cake\View;
 
 use Cake\Datasource\ModelAwareTrait;
 use Cake\Event\EventManager;
-use Cake\Event\EventManagerTrait;
+use Cake\Event\EventDispatcherTrait;
 use Cake\Network\Request;
 use Cake\Network\Response;
 use Cake\Utility\Inflector;
@@ -31,7 +31,7 @@ use Cake\View\ViewVarsTrait;
 abstract class Cell
 {
 
-    use EventManagerTrait;
+    use EventDispatcherTrait;
     use ModelAwareTrait;
     use ViewVarsTrait;
 

+ 2 - 2
src/View/HelperRegistry.php

@@ -17,7 +17,7 @@ namespace Cake\View;
 use Cake\Core\App;
 use Cake\Core\ObjectRegistry;
 use Cake\Event\EventDispatcherInterface;
-use Cake\Event\EventManagerTrait;
+use Cake\Event\EventDispatcherTrait;
 use Cake\View\View;
 
 /**
@@ -27,7 +27,7 @@ use Cake\View\View;
 class HelperRegistry extends ObjectRegistry implements EventDispatcherInterface
 {
 
-    use EventManagerTrait;
+    use EventDispatcherTrait;
 
     /**
      * View object to use when making helpers.

+ 2 - 2
src/View/View.php

@@ -19,7 +19,7 @@ use Cake\Core\App;
 use Cake\Core\Plugin;
 use Cake\Event\EventDispatcherInterface;
 use Cake\Event\EventManager;
-use Cake\Event\EventManagerTrait;
+use Cake\Event\EventDispatcherTrait;
 use Cake\Log\LogTrait;
 use Cake\Network\Request;
 use Cake\Network\Response;
@@ -62,7 +62,7 @@ class View implements EventDispatcherInterface
 {
 
     use CellTrait;
-    use EventManagerTrait;
+    use EventDispatcherTrait;
     use LogTrait;
     use RequestActionTrait;
     use ViewVarsTrait;

+ 5 - 5
tests/TestCase/Event/EventManagerTraitTest.php

@@ -15,14 +15,14 @@
 namespace Cake\Test\TestCase\Event;
 
 use Cake\Event\EventManager;
-use Cake\Event\EventManagerTrait;
+use Cake\Event\EventDispatcherTrait;
 use Cake\TestSuite\TestCase;
 
 /**
- * EventManagerTrait test case
+ * EventDispatcherTrait test case
  *
  */
-class EventManagerTraitTest extends TestCase
+class EventDispatcherTraitTest extends TestCase
 {
 
     /**
@@ -34,7 +34,7 @@ class EventManagerTraitTest extends TestCase
     {
         parent::setUp();
 
-        $this->subject = $this->getObjectForTrait('Cake\Event\EventManagerTrait');
+        $this->subject = $this->getObjectForTrait('Cake\Event\EventDispatcherTrait');
     }
 
     /**
@@ -50,7 +50,7 @@ class EventManagerTraitTest extends TestCase
     /**
      * testSettingEventManager
      *
-     * @covers \Cake\Event\EventManagerTrait::eventManager
+     * @covers \Cake\Event\EventDispatcherTrait::eventManager
      * @return void
      */
     public function testSettingEventManager()