dotkernel / dot-cli
Dotkernel component for creating console applications based on laminas-cli
Installs: 23 615
Dependents: 4
Suggesters: 0
Security: 0
Stars: 5
Watchers: 2
Forks: 3
Open Issues: 4
pkg:composer/dotkernel/dot-cli
Requires
- php: ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0
- laminas/laminas-cli: ^1.4.0
- laminas/laminas-servicemanager: ^3.11.1 || ^4.0
Requires (Dev)
- laminas/laminas-coding-standard: ^3.0
- mikey179/vfsstream: ^1.6.7
- phpstan/phpstan: ^2.1.17
- phpstan/phpstan-phpunit: ^2.0.6
- phpunit/phpunit: ^10.2
README
Dotkernel component to build console applications based on laminas-cli.
dot-cli is a wrapper on top of laminas-cli
Documentation
Documentation is available at: https://docs.dotkernel.org/dot-cli/.
Badges
Requirements
- PHP: 8.2, 8.3, 8.4 or 8.5
- laminas/laminas-servicemanager: >= 3.11 || >= 4.0,
- laminas/laminas-cli: >= 1.4
Setup
1. Install package
Run the following command in your application's root directory:
composer require dotkernel/dot-cli
2. Register ConfigProvider
Open your application's config/config.php and the following line under the DK packages comment:
Dot\Cli\ConfigProvider::class,
3. Copy bootstrap file
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.
4. Copy config file
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.
Testing
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.
Setting up as a cronjob
*   *   *   *   *   /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).
License
MIT