@@ -21,12 +21,7 @@ class Application extends AbstractApplication
2121 ****************************************************************************/
2222
2323 /**
24- * Register a app group command(by controller)
25- * @param string $name The controller name
26- * @param string|Controller $class The controller class
27- * @param null|array|string $option
28- * @return static
29- * @throws \InvalidArgumentException
24+ * {@inheritdoc}
3025 */
3126 public function controller (string $ name , $ class = null , $ option = null )
3227 {
@@ -69,10 +64,11 @@ public function controller(string $name, $class = null, $option = null)
6964 // has option information
7065 if ($ option ) {
7166 if (\is_string ($ option )) {
72- $ this ->addCommandMessage ($ name , $ option );
67+ $ this ->setCommandMetaValue ($ name, ' description ' , $ option );
7368 } elseif (\is_array ($ option )) {
7469 $ this ->addCommandAliases ($ name , $ option ['aliases ' ] ?? null );
75- $ this ->addCommandMessage ($ name , $ option ['description ' ] ?? null );
70+ unset($ option ['aliases ' ]);
71+ $ this ->setCommandMeta ($ name , $ option );
7672 }
7773 }
7874
@@ -99,12 +95,7 @@ public function controllers(array $controllers)
9995 }
10096
10197 /**
102- * Register a app independent console command
103- * @param string|Command $name
104- * @param string|\Closure|Command $handler
105- * @param null|array|string $option
106- * @return $this|mixed
107- * @throws \InvalidArgumentException
98+ * {@inheritdoc}
10899 */
109100 public function command (string $ name , $ handler = null , $ option = null )
110101 {
@@ -139,17 +130,18 @@ public function command(string $name, $handler = null, $option = null)
139130 return $ this ;
140131 }
141132
142- // allow define aliases in Command class by Command::aliases()
143- if ($ aliases = $ handler ::aliases ()) {
144- $ option ['aliases ' ] = isset ($ option ['aliases ' ]) ? \array_merge ($ option ['aliases ' ], $ aliases ) : $ aliases ;
145- }
146133 } elseif (!\is_object ($ handler ) || !\method_exists ($ handler , '__invoke ' )) {
147134 Helper::throwInvalidArgument (
148135 'The console command handler must is an subclass of %s OR a Closure OR a object have method __invoke() ' ,
149136 Command::class
150137 );
151138 }
152139
140+ // allow define aliases in Command class by Command::aliases()
141+ if ($ aliases = $ handler ::aliases ()) {
142+ $ option ['aliases ' ] = isset ($ option ['aliases ' ]) ? \array_merge ($ option ['aliases ' ], $ aliases ) : $ aliases ;
143+ }
144+
153145 // is an class name string
154146 $ this ->commands [$ name ] = $ handler ;
155147
@@ -159,6 +151,7 @@ public function command(string $name, $handler = null, $option = null)
159151 $ this ->setCommandMetaValue ($ name , 'description ' , $ option );
160152 } elseif (\is_array ($ option )) {
161153 $ this ->addCommandAliases ($ name , $ option ['aliases ' ] ?? null );
154+ unset($ option ['aliases ' ]);
162155 $ this ->setCommandMeta ($ name , $ option );
163156 }
164157 }
0 commit comments