diff --git a/bin/cli b/bin/cli index 8a2983c1..e400bef8 100755 --- a/bin/cli +++ b/bin/cli @@ -1,16 +1,10 @@ #!/usr/bin/env php addCommands([ - $container->get(GenerateShortcodeCommand::class), - $container->get(ResolveUrlCommand::class), -]); +$app = $container->get(CliApp::class); $app->run(); diff --git a/config/autoload/cli.global.php b/config/autoload/cli.global.php new file mode 100644 index 00000000..f1a36b7d --- /dev/null +++ b/config/autoload/cli.global.php @@ -0,0 +1,13 @@ + [ + 'commands' => [ + Command\GenerateShortcodeCommand::class, + Command\ResolveUrlCommand::class, + ] + ], + +]; diff --git a/config/autoload/services.global.php b/config/autoload/services.global.php index b3103ac3..9f4447f4 100644 --- a/config/autoload/services.global.php +++ b/config/autoload/services.global.php @@ -1,5 +1,5 @@ [ 'factories' => [ - Application::class => Container\ApplicationFactory::class, + Expressive\Application::class => Container\ApplicationFactory::class, + Console\Application::class => CLI\Factory\ApplicationFactory::class, // Url helpers Helper\UrlHelper::class => Helper\UrlHelperFactory::class, @@ -42,8 +44,8 @@ return [ Cache::class => CacheFactory::class, // Cli commands - CliCommands\GenerateShortcodeCommand::class => AnnotatedFactory::class, - CliCommands\ResolveUrlCommand::class => AnnotatedFactory::class, + CLI\Command\GenerateShortcodeCommand::class => AnnotatedFactory::class, + CLI\Command\ResolveUrlCommand::class => AnnotatedFactory::class, // Middleware Middleware\Routable\RedirectMiddleware::class => AnnotatedFactory::class, diff --git a/src/CliCommands/GenerateShortcodeCommand.php b/src/CLI/Command/GenerateShortcodeCommand.php similarity index 98% rename from src/CliCommands/GenerateShortcodeCommand.php rename to src/CLI/Command/GenerateShortcodeCommand.php index 68b076c3..ea6fc929 100644 --- a/src/CliCommands/GenerateShortcodeCommand.php +++ b/src/CLI/Command/GenerateShortcodeCommand.php @@ -1,5 +1,5 @@ get('config')['cli']; + $app = new CliApp(); + + $commands = isset($config['commands']) ? $config['commands'] : []; + foreach ($commands as $command) { + if (! $container->has($command)) { + continue; + } + + $app->add($container->get($command)); + } + + return $app; + } +}