/** * Register commands to console. * * @param Console $console Windwalker console object. * * @return void */ public static function registerCommands(Console $console) { $reflection = new \ReflectionClass(get_called_class()); $namespace = $reflection->getNamespaceName(); $path = dirname($reflection->getFileName()) . '/Command'; if (!is_dir($path)) { return; } $path = new PathLocator($path); /** @var \SplFileInfo $file */ foreach ($path as $file) { if (!$file->isDir()) { continue; } $class = $namespace . '\\Command\\' . $file->getBasename() . '\\' . $file->getBasename() . 'Command'; if (class_exists($class) && is_subclass_of($class, 'Windwalker\\Console\\Command\\AbstractCommand') && $class::$isEnabled) { $console->addCommand(new $class()); } } }
/** * Load the input object. * * @return IO The input object. */ protected function loadInput() { return $this->app->getIO(); }