CLI
CLI
stands for Command Line Interface
. These are scripts executed on server directly by PHP interpreter without the need of having web server.
Koldy framework offers easy way of writing CLI scripts.
To make your own script for CLI env, create php file in application/scripts
or under application/modules/[module]/scripts
. The file name is allowed to have only English lower and upper case letters, numbers, dashes (-) and underscores (_). All other characters are not valid and framework will throw an exception if you try to use something else.
When you create new script, just start writing your code. There is nothing else you need. You can use anything you want in your scripts and everything in your project is accessible.
If you run script that are located in application/scripts
and you need to use some class in module, then you'll have to manually register module with Application::registerModule()
method so you can actually include the classes from there.
Running CLI scripts
To run the script, you need to execute ./koldy run script-name
in your project's root where script-name
is the file name you want to run.
Example: if you have script located on application/scripts/backup-news.php
, then you need to run:
./koldy run backup-news
If you're running your script as CRON job, then you'll probably need to define something like this in your CRON rules:
/path/to/your-project/koldy run backup-news
Running CLI scripts in modules
If you want to run the script in module, then call your script with this pattern:
./koldy run module-name:script-name
Example: If you have module named "news" and "backup-news" script it located under the "news" module on application/modules/news/scripts/backup-news.php
, then you can execute that script with:
./koldy run news:backup-news
CLI parameter(s)
If you need to pass additional parameter to your script, then feel free to add anything you need after the script name.
There is \Koldy\Cli
class in framework that can help you easily fetch the parameters you passed to the script.
Example: if you run your script as this:
./koldy run backup-news --my-parameter="this is cool"
Then you can fetch the value of your parameter with:
Cli::getParameter('my-parameter'); // it will return "this is cool"