PHP code example of eth8505 / laminas-symfony-console
1. Go to this page and download the library: Download eth8505/laminas-symfony-console library. Choose the download type require. 2. Extract the ZIP file and open the index.php. 3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
eth8505 / laminas-symfony-console example snippets
return [
'modules' => [
'LaminasSymfonyConsole',
// ...
],
];
~~~
## How to use
You can use the `vendor/bin/console` tool to run your commands. This tool may be in a different directory depending on
how your composers `bin-dir` is configured.
Depending on how you did setup your Laminas project, you might need to modify `public/index.php`.
For example this is neccassary if you did use the Laminas MVC Skeleton project.
Firstly that file has to return the `Application` instance for this library to work.
Optionally you might only invoke the `run()` method of `Laminas\Mvc\Application` if `public/index.php` has not
been called via the PHP CLI. This will avoid cluttering up your console with the view.
## How do I create console commands?
### 1. Create command
Create commands as described in the [symfony console docs](https://symfony.com/doc/current/console.html). Please note
that if you're using a fully-fledged laminas framework, it won't be possible to use all the nice symfony service container
logic.
### 2. Register with service manager
You can either register your commands with the service manager via the config in your `module.config.php`:
~~~php
return [
'laminas_symfonyconsole_commands' => [
'invokables' => [
MyCommand::class
]
]
];
~~~
or register it in your module class using the `ConsoleCommandProviderInterface`:
~~~php
namespace MyModule;
use LaminasSymfonyConsole\ConsoleCommandProviderInterface;
class Module implements ConsoleCommandProviderInterface {
/**
* @inheritdoc
*/
public function getConsoleCommandConfig() {
return [
'invokables' => [
MyCommand::class
]
];
}