dev-master
9999999-devSymfony Console factory for PSR-11 containers
MIT
The Requires
The Development Requires
0.1
0.1.0.0Symfony Console factory for PSR-11 containers
MIT
The Requires
The Development Requires
Wallogit.com
2017 © Pedro Peláez
Symfony Console factory for PSR-11 containers
This package provides a small factory that allows creating Symfony Console Application via PSR-11 compatible container. The code is dead simple, I just tired of copying it between projects :), (*1)
Let's imagine that you have an existing application using Laminas Service Manager and it requires some console utility.
First of all you need to add articus/container-interop-symfony-console package to your composer.json.
Next step is configuring your console application. Here is a small example (it is in YAML just for readability):, (*2)
#Configuration root for Service Manager
dependencies:
factories:
Symfony\Component\Console\Application: ContainerInteropSymfonyConsole\Factory
#Service for your console command, should extend \Symfony\Component\Console\Command\Command
My\Command: My\CommandFactory
Symfony\Component\Console\Application:
name: My App
version: 1.2.3
commands:
- My\Command
Configuration should be available via config service of your container. Check src/ContainerInteropSymfonyConsole/Options.php for full list of available options., (*3)
Finally, you need to create PHP-script that will be your console application entrypoint. For example bin/console.php file with the following content:, (*4)
#!/usr/bin/php <?php chdir(dirname(__DIR__)); /** @var \Psr\Container\ContainerInterface $container */ $container = /* some code to instantiate your PSR-11 container */; /** @var \Symfony\Component\Console\Application $app */ $app = $container->get(\Symfony\Component\Console\Application::class); $app->run();
Now if you execute php bin/console.php list your console command should be listed and it should be possible to launch it., (*5)
Symfony Console factory for PSR-11 containers
MIT
Symfony Console factory for PSR-11 containers
MIT