Replacing dot-console with dot-cli based on laminas-cli
source link: https://www.dotkernel.com/how-to/replacing-dot-console-with-dot-cli-based-on-laminas-cli/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Implementing dot-cli in your application
DotKernel’s dot-cli package comes as a replacement for dot-console, which was abandoned after Laminas abandoned their laminas-console package, that dot-console was based on.
Setup
Install package
Run the following command in your application’s root directory:
composer require dotkernel/dot-cli
Register ConfigProvider
Open your application’s config/config.php file and add Dot\Cli\ConfigProvider::class,
under the DK packages comment.
Create bootstrap file
Locate the provided vendor/dotkernel/dot-cli/bin/cli.php and copy it into your application’s bin directory.
This is the file you will execute your commands through.
Create config file
Locate the provided vendor/dotkernel/dot-cli/config/autoload/cli.global.php and copy it into your application’s config/autoload directory.
This file already contains a sample command (demo:command), that serves as an example on creating an registering new commands.
For more information on configuring/chaining commands, see laminas-cli documentation.
Usage
Run the following command in your application’s root directory:
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.
Set up command as cronjob
Open your crontab and add the following line:
* * * * {PATH_TO_PHP_EXECUTABLE} {PATH_TO_APPLICATION}/bin/cli.php demo:command
Where {PATH_TO_PHP_EXECUTABLE} needs to replaced with the full path to the PHP executable and {PATH_TO_APPLICATION} with the full path to your application’s root directory.
FileLocker
dot-cli has a built-in locking system, called FileLocker, enabled by default. This feature prevents multiple calls to the same command overlapping eachother by making sure the latter calls won’t run until the former one is finished.
You can toggle this modifying in the previously created config/autoload/cli.global.php under FileLockerInterface::class -> enabled
Leave a Reply Cancel Reply
Your email address will not be published. Required fields are marked *
You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
Save my name, email, and website in this browser for the next time I comment.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK