Completed
Pull Request — master (#1058)
by
unknown
12:06 queued 03:07
created
core/services/commands/CommandHandlerManager.php 1 patch
Indentation   +100 added lines, -100 removed lines patch added patch discarded remove patch
@@ -18,83 +18,83 @@  discard block
 block discarded – undo
18 18
 class CommandHandlerManager implements CommandHandlerManagerInterface
19 19
 {
20 20
 
21
-    /**
22
-     * @var CommandHandlerInterface[] $command_handlers
23
-     */
24
-    protected $command_handlers;
21
+	/**
22
+	 * @var CommandHandlerInterface[] $command_handlers
23
+	 */
24
+	protected $command_handlers;
25 25
 
26
-    /**
27
-     * @type LoaderInterface $loader
28
-     */
29
-    private $loader;
26
+	/**
27
+	 * @type LoaderInterface $loader
28
+	 */
29
+	private $loader;
30 30
 
31 31
 
32
-    /**
33
-     * CommandHandlerManager constructor
34
-     *
35
-     * @param LoaderInterface $loader
36
-     */
37
-    public function __construct(LoaderInterface $loader)
38
-    {
39
-        $this->loader = $loader;
40
-    }
32
+	/**
33
+	 * CommandHandlerManager constructor
34
+	 *
35
+	 * @param LoaderInterface $loader
36
+	 */
37
+	public function __construct(LoaderInterface $loader)
38
+	{
39
+		$this->loader = $loader;
40
+	}
41 41
 
42 42
 
43
-    /**
44
-     * By default, Commands and CommandHandlers would normally
45
-     * reside in the same folder under the same namespace,
46
-     * and the names of the two classes would only differ in that
47
-     * one ends in "Command" and the other ends in "CommandHandler".
48
-     * However, if you wanted to utilize a CommandHandler from somewhere else,
49
-     * then this method allows you to add that CommandHandler and specify the FQCN
50
-     * (Fully Qualified ClassName) for the Command class that it should be used for.
51
-     * For example:
52
-     *      by default the "Vendor\some\namespace\DoSomethingCommand"
53
-     *      would resolve to using "Vendor\some\namespace\DoSomethingCommandHandler"
54
-     *      but if you wanted to instead process that commend using:
55
-     *      "Vendor\a\totally\different\namespace\for\DoSomethingCommandHandler"
56
-     *      then the following code:
57
-     *      $CommandHandlerManager = $this->loader->getShared( 'CommandHandlerManagerInterface' );
58
-     *      $CommandHandlerManager->addCommandHandler(
59
-     *          new Vendor\a\totally\different\namespace\for\DoSomethingCommandHandler(),
60
-     *          'Vendor\some\namespace\DoSomethingCommand'
61
-     *      );
62
-     *      would result in the alternate CommandHandler being used to process that Command
63
-     *
64
-     * !!! IMPORTANT !!!
65
-     * If overriding the default CommandHandler for a Command,
66
-     * be sure to also override CommandHandler::verify(),
67
-     * or else an Exception will be thrown when the CommandBus
68
-     * attempts to verify that the incoming Command matches the Handler
69
-     *
70
-     * @param CommandHandlerInterface $command_handler
71
-     * @param string                  $fqcn_for_command Fully Qualified ClassName for Command
72
-     * @return void
73
-     * @throws InvalidCommandHandlerException
74
-     */
75
-    public function addCommandHandler(CommandHandlerInterface $command_handler, $fqcn_for_command = '')
76
-    {
77
-        $command = ! empty($fqcn_for_command)
78
-            ? $fqcn_for_command
79
-            : str_replace('CommandHandler', 'Command', get_class($command_handler));
80
-        if (empty($command)) {
81
-            throw new InvalidCommandHandlerException($command);
82
-        }
83
-        $this->command_handlers[ $command ] = $command_handler;
84
-    }
43
+	/**
44
+	 * By default, Commands and CommandHandlers would normally
45
+	 * reside in the same folder under the same namespace,
46
+	 * and the names of the two classes would only differ in that
47
+	 * one ends in "Command" and the other ends in "CommandHandler".
48
+	 * However, if you wanted to utilize a CommandHandler from somewhere else,
49
+	 * then this method allows you to add that CommandHandler and specify the FQCN
50
+	 * (Fully Qualified ClassName) for the Command class that it should be used for.
51
+	 * For example:
52
+	 *      by default the "Vendor\some\namespace\DoSomethingCommand"
53
+	 *      would resolve to using "Vendor\some\namespace\DoSomethingCommandHandler"
54
+	 *      but if you wanted to instead process that commend using:
55
+	 *      "Vendor\a\totally\different\namespace\for\DoSomethingCommandHandler"
56
+	 *      then the following code:
57
+	 *      $CommandHandlerManager = $this->loader->getShared( 'CommandHandlerManagerInterface' );
58
+	 *      $CommandHandlerManager->addCommandHandler(
59
+	 *          new Vendor\a\totally\different\namespace\for\DoSomethingCommandHandler(),
60
+	 *          'Vendor\some\namespace\DoSomethingCommand'
61
+	 *      );
62
+	 *      would result in the alternate CommandHandler being used to process that Command
63
+	 *
64
+	 * !!! IMPORTANT !!!
65
+	 * If overriding the default CommandHandler for a Command,
66
+	 * be sure to also override CommandHandler::verify(),
67
+	 * or else an Exception will be thrown when the CommandBus
68
+	 * attempts to verify that the incoming Command matches the Handler
69
+	 *
70
+	 * @param CommandHandlerInterface $command_handler
71
+	 * @param string                  $fqcn_for_command Fully Qualified ClassName for Command
72
+	 * @return void
73
+	 * @throws InvalidCommandHandlerException
74
+	 */
75
+	public function addCommandHandler(CommandHandlerInterface $command_handler, $fqcn_for_command = '')
76
+	{
77
+		$command = ! empty($fqcn_for_command)
78
+			? $fqcn_for_command
79
+			: str_replace('CommandHandler', 'Command', get_class($command_handler));
80
+		if (empty($command)) {
81
+			throw new InvalidCommandHandlerException($command);
82
+		}
83
+		$this->command_handlers[ $command ] = $command_handler;
84
+	}
85 85
 
86 86
 
87
-    /**
88
-     * @param CommandInterface    $command
89
-     * @param CommandBusInterface $command_bus
90
-     * @return mixed
91
-     * @throws DomainException
92
-     * @throws CommandHandlerNotFoundException
93
-     */
94
-    public function getCommandHandler(CommandInterface $command, CommandBusInterface $command_bus = null)
95
-    {
96
-        $command_name = get_class($command);
97
-        /*
87
+	/**
88
+	 * @param CommandInterface    $command
89
+	 * @param CommandBusInterface $command_bus
90
+	 * @return mixed
91
+	 * @throws DomainException
92
+	 * @throws CommandHandlerNotFoundException
93
+	 */
94
+	public function getCommandHandler(CommandInterface $command, CommandBusInterface $command_bus = null)
95
+	{
96
+		$command_name = get_class($command);
97
+		/*
98 98
          * Filters the Fully Qualified Class Name for the Command Handler
99 99
          * that will be used to handle the incoming Command
100 100
          *
@@ -107,34 +107,34 @@  discard block
 block discarded – undo
107 107
          * @param string "CommandHandler::class" Fully Qualified Class Name for the Command Handler
108 108
          * @param CommandInterface $command the actual Command instance
109 109
          */
110
-        $command_handler = apply_filters(
111
-            'FHEE__EventEspresso_core_services_commands_CommandHandlerManager__getCommandHandler__command_handler',
112
-            str_replace('Command', 'CommandHandler', $command_name),
113
-            $command
114
-        );
115
-        $handler = null;
116
-        // has a command handler already been set for this class ?
117
-        // if not, can we find one via the FQCN ?
118
-        if (isset($this->command_handlers[ $command_name ])) {
119
-            $handler = $this->command_handlers[ $command_name ];
120
-        } elseif (class_exists($command_handler)) {
121
-            $handler = $this->loader->getShared($command_handler);
122
-        }
123
-        // if Handler requires an instance of the CommandBus, but that has not yet been set
124
-        if ($handler instanceof CompositeCommandHandler && ! $handler->commandBus() instanceof CommandBusInterface) {
125
-            if (! $command_bus instanceof CommandBusInterface) {
126
-                throw new DomainException(
127
-                    esc_html__(
128
-                        'CompositeCommandHandler classes require an instance of the CommandBus.',
129
-                        'event_espresso'
130
-                    )
131
-                );
132
-            }
133
-            $handler->setCommandBus($command_bus);
134
-        }
135
-        if ($handler instanceof CommandHandlerInterface) {
136
-            return $handler;
137
-        }
138
-        throw new CommandHandlerNotFoundException($command_handler);
139
-    }
110
+		$command_handler = apply_filters(
111
+			'FHEE__EventEspresso_core_services_commands_CommandHandlerManager__getCommandHandler__command_handler',
112
+			str_replace('Command', 'CommandHandler', $command_name),
113
+			$command
114
+		);
115
+		$handler = null;
116
+		// has a command handler already been set for this class ?
117
+		// if not, can we find one via the FQCN ?
118
+		if (isset($this->command_handlers[ $command_name ])) {
119
+			$handler = $this->command_handlers[ $command_name ];
120
+		} elseif (class_exists($command_handler)) {
121
+			$handler = $this->loader->getShared($command_handler);
122
+		}
123
+		// if Handler requires an instance of the CommandBus, but that has not yet been set
124
+		if ($handler instanceof CompositeCommandHandler && ! $handler->commandBus() instanceof CommandBusInterface) {
125
+			if (! $command_bus instanceof CommandBusInterface) {
126
+				throw new DomainException(
127
+					esc_html__(
128
+						'CompositeCommandHandler classes require an instance of the CommandBus.',
129
+						'event_espresso'
130
+					)
131
+				);
132
+			}
133
+			$handler->setCommandBus($command_bus);
134
+		}
135
+		if ($handler instanceof CommandHandlerInterface) {
136
+			return $handler;
137
+		}
138
+		throw new CommandHandlerNotFoundException($command_handler);
139
+	}
140 140
 }
Please login to merge, or discard this patch.
core/services/commands/CommandBus.php 2 patches
Indentation   +63 added lines, -63 removed lines patch added patch discarded remove patch
@@ -34,74 +34,74 @@
 block discarded – undo
34 34
 class CommandBus implements CommandBusInterface
35 35
 {
36 36
 
37
-    /**
38
-     * @type CommandHandlerManagerInterface $command_handler_manager
39
-     */
40
-    private $command_handler_manager;
37
+	/**
38
+	 * @type CommandHandlerManagerInterface $command_handler_manager
39
+	 */
40
+	private $command_handler_manager;
41 41
 
42
-    /**
43
-     * @type CommandBusMiddlewareInterface[] $command_bus_middleware
44
-     */
45
-    private $command_bus_middleware;
42
+	/**
43
+	 * @type CommandBusMiddlewareInterface[] $command_bus_middleware
44
+	 */
45
+	private $command_bus_middleware;
46 46
 
47 47
 
48
-    /**
49
-     * CommandBus constructor
50
-     *
51
-     * @param CommandHandlerManagerInterface  $command_handler_manager
52
-     * @param CommandBusMiddlewareInterface[] $command_bus_middleware
53
-     */
54
-    public function __construct(
55
-        CommandHandlerManagerInterface $command_handler_manager,
56
-        array $command_bus_middleware = array()
57
-    ) {
58
-        $this->command_handler_manager = $command_handler_manager;
59
-        $this->command_bus_middleware = is_array($command_bus_middleware)
60
-            ? $command_bus_middleware
61
-            : array($command_bus_middleware);
62
-    }
48
+	/**
49
+	 * CommandBus constructor
50
+	 *
51
+	 * @param CommandHandlerManagerInterface  $command_handler_manager
52
+	 * @param CommandBusMiddlewareInterface[] $command_bus_middleware
53
+	 */
54
+	public function __construct(
55
+		CommandHandlerManagerInterface $command_handler_manager,
56
+		array $command_bus_middleware = array()
57
+	) {
58
+		$this->command_handler_manager = $command_handler_manager;
59
+		$this->command_bus_middleware = is_array($command_bus_middleware)
60
+			? $command_bus_middleware
61
+			: array($command_bus_middleware);
62
+	}
63 63
 
64 64
 
65
-    /**
66
-     * @return CommandHandlerManagerInterface
67
-     */
68
-    public function getCommandHandlerManager()
69
-    {
70
-        return $this->command_handler_manager;
71
-    }
65
+	/**
66
+	 * @return CommandHandlerManagerInterface
67
+	 */
68
+	public function getCommandHandlerManager()
69
+	{
70
+		return $this->command_handler_manager;
71
+	}
72 72
 
73 73
 
74
-    /**
75
-     * @param CommandInterface $command
76
-     * @return mixed
77
-     * @throws InvalidDataTypeException
78
-     * @throws InvalidCommandBusMiddlewareException
79
-     */
80
-    public function execute($command)
81
-    {
82
-        if (! $command instanceof CommandInterface) {
83
-            throw new InvalidDataTypeException(__METHOD__ . '( $command )', $command, 'CommandInterface');
84
-        }
85
-        // we're going to add the Command Handler as a callable
86
-        // that will get run at the end of our middleware stack
87
-        // can't pass $this to a Closure, so use a named variable
88
-        $command_bus = $this;
89
-        $middleware = static function ($command) use ($command_bus) {
90
-            return $command_bus->getCommandHandlerManager()
91
-                               ->getCommandHandler($command, $command_bus)
92
-                               ->verify($command)
93
-                               ->handle($command);
94
-        };
95
-        // now build the rest of the middleware stack
96
-        while ($command_bus_middleware = array_pop($this->command_bus_middleware)) {
97
-            if (! $command_bus_middleware instanceof CommandBusMiddlewareInterface) {
98
-                throw new InvalidCommandBusMiddlewareException($command_bus_middleware);
99
-            }
100
-            $middleware = static function ($command) use ($command_bus_middleware, $middleware) {
101
-                return $command_bus_middleware->handle($command, $middleware);
102
-            };
103
-        }
104
-        // and finally, pass the command into the stack and return the results
105
-        return $middleware($command);
106
-    }
74
+	/**
75
+	 * @param CommandInterface $command
76
+	 * @return mixed
77
+	 * @throws InvalidDataTypeException
78
+	 * @throws InvalidCommandBusMiddlewareException
79
+	 */
80
+	public function execute($command)
81
+	{
82
+		if (! $command instanceof CommandInterface) {
83
+			throw new InvalidDataTypeException(__METHOD__ . '( $command )', $command, 'CommandInterface');
84
+		}
85
+		// we're going to add the Command Handler as a callable
86
+		// that will get run at the end of our middleware stack
87
+		// can't pass $this to a Closure, so use a named variable
88
+		$command_bus = $this;
89
+		$middleware = static function ($command) use ($command_bus) {
90
+			return $command_bus->getCommandHandlerManager()
91
+							   ->getCommandHandler($command, $command_bus)
92
+							   ->verify($command)
93
+							   ->handle($command);
94
+		};
95
+		// now build the rest of the middleware stack
96
+		while ($command_bus_middleware = array_pop($this->command_bus_middleware)) {
97
+			if (! $command_bus_middleware instanceof CommandBusMiddlewareInterface) {
98
+				throw new InvalidCommandBusMiddlewareException($command_bus_middleware);
99
+			}
100
+			$middleware = static function ($command) use ($command_bus_middleware, $middleware) {
101
+				return $command_bus_middleware->handle($command, $middleware);
102
+			};
103
+		}
104
+		// and finally, pass the command into the stack and return the results
105
+		return $middleware($command);
106
+	}
107 107
 }
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -79,14 +79,14 @@  discard block
 block discarded – undo
79 79
      */
80 80
     public function execute($command)
81 81
     {
82
-        if (! $command instanceof CommandInterface) {
83
-            throw new InvalidDataTypeException(__METHOD__ . '( $command )', $command, 'CommandInterface');
82
+        if ( ! $command instanceof CommandInterface) {
83
+            throw new InvalidDataTypeException(__METHOD__.'( $command )', $command, 'CommandInterface');
84 84
         }
85 85
         // we're going to add the Command Handler as a callable
86 86
         // that will get run at the end of our middleware stack
87 87
         // can't pass $this to a Closure, so use a named variable
88 88
         $command_bus = $this;
89
-        $middleware = static function ($command) use ($command_bus) {
89
+        $middleware = static function($command) use ($command_bus) {
90 90
             return $command_bus->getCommandHandlerManager()
91 91
                                ->getCommandHandler($command, $command_bus)
92 92
                                ->verify($command)
@@ -94,10 +94,10 @@  discard block
 block discarded – undo
94 94
         };
95 95
         // now build the rest of the middleware stack
96 96
         while ($command_bus_middleware = array_pop($this->command_bus_middleware)) {
97
-            if (! $command_bus_middleware instanceof CommandBusMiddlewareInterface) {
97
+            if ( ! $command_bus_middleware instanceof CommandBusMiddlewareInterface) {
98 98
                 throw new InvalidCommandBusMiddlewareException($command_bus_middleware);
99 99
             }
100
-            $middleware = static function ($command) use ($command_bus_middleware, $middleware) {
100
+            $middleware = static function($command) use ($command_bus_middleware, $middleware) {
101 101
                 return $command_bus_middleware->handle($command, $middleware);
102 102
             };
103 103
         }
Please login to merge, or discard this patch.