console-app
, (*1)
A skeleton PHP console app., (*2)
Usage
Install console-app as a dependency, (*3)
$ composer require yeriomin/console-app, (*4)
Extend \Yeriomin\ConsoleApp\ConsoelApp class and implement the run() method., (*5)
<?php
class MyConsoleApp extends \Yeriomin\ConsoleApp\ConsoelApp {
public function run()
{
$this->logger->info('Hi');
}
}
Features
- Handles configuration files. Tries to read
./config.ini by default.
- Handles console arguments. Extend
getGetopt() method to add your options.
- Checks if another instance of the same script is running. Can be disabled in config.
- Checks if script is running in the console. Fails otherwise. Can be disabled in config.
- Inits monolog logger.
- Uses error and signal handlers to let you see that very important last message in the log.
Configuration
By default the following configuration options are supported:, (*6)
-
consoleOnly Let the script run only in console, not in browser. True by default.
-
oneInstanceOnly Let only one instance of the script be running at any time. True by default.
-
logDir Directory to put the log file to. Defaults to system temporary directory.
-
logFile A specific file path for the log. If none provided /tmp/<script-class-name>.log is used.
-
lockDir Directory to put the lock file to. Defaults to system temporary directory.
-
lockFileA specific file path for the lock file. If none provided /tmp/<script-class-name>.lock is used.
Console arguments
Two console options are supported by default:, (*7)
-
-h|--help Shows usage message. It will include options you add.
-
-c|--config Path to configuration file. Defaults to ./config.ini