/** * @param array $commands * @return array */ private function sortCommands(array $commands) { $namespacedCommands = []; foreach ($commands as $name => $command) { $key = $this->console->extractNamespace($name, 1); if (!$key) { $key = '_global'; } $namespacedCommands[$key][$name] = $command; } ksort($namespacedCommands); foreach ($namespacedCommands as &$commandsSet) { ksort($commandsSet); } // unset reference to keep scope clear unset($commandsSet); return $namespacedCommands; }