DotKernel component to build console applications based on laminas-cli.
- PHP >= 8.2
- laminas/laminas-servicemanager >= 3.11,
- laminas/laminas-cli >= 1.4
Run the following command in your application's root directory:
composer require dotkernel/dot-cli
Open your application's config/config.php
and the following line under the DK packages comment:
Dot\Cli\ConfigProvider::class,
Locate file bin/cli.php
in this package, then copy it to your application's bin/
directory.
This is the bootstrap file you will use to execute your commands with.
Locate in this package the following file config/autoload/cli.global.php
then copy it to your application's config/autoload/
directory.
This is the config file you will add your commands to.
Using the command line, go to your application's root directory, then type the following command:
php ./bin/cli.php
The output should look similar to this, containing information on how to start using dot-cli:
DotKernel CLI 1.0.0
Usage:
command [options] [arguments]
Options:
-h, --help Display help for the given command. When no command is given display help for the list command
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Available commands:
help Display help for a command
list List commands
demo
demo:command Demo command description.
As shown in config/autoload/cli.global.php
, dot-cli includes a demo command demo:command
that will help you understand the basics of creating a new command.
For more information, see laminas-cli documentation.
* * * * * /opt/plesk/php/7.4/bin/php /var/www/vhosts/example.com/httpdocs/bin/cli.php demo:command -q
or
* * * * * cd /var/www/vhosts/example.com/httpdocs/bin && /opt/plesk/php/7.4/bin/php ./cli.php demo:command -q
Adapt the command to your specifications by replacing 7.4 with your PHP version and example.com with your domain name.
Note the -q (or --quiet) option at the end of the command - it serves as a flag to inform the Application that no output should be returned (unless it's an error).
MIT