CommandLineBase
extends Base
in package
Base functionality for command line applications.
Command line applications are designed to only be executed from the context of the php-cli. Allows for easy addition and handling of command line parameters.
Table of Contents
Properties
- $_crashed : bool
- $_handleErrors : bool
- $_handleFatal : bool
- $_parameters : array<string|int, mixed>
- $_settings : SettingManager|null
- $_version : string
- $_basePath : string
- $_eventListenersPath : string
- $_handlers : array<string|int, mixed>
- $_registry : Registry|null
Methods
- __construct() : mixed
- Initial setup for the application.
- beautifyException() : string
- Format exception/error for display Base implementation outputs plain text (CLI-friendly) MVC Application overrides this for HTML output
- fatalHandler() : void
- Handler for fatal errors.
- getBasePath() : string
- getCrashed() : bool
- getEventListenersPath() : string
- getParameter() : mixed
- Gets a parameter by name.
- getParameters() : array<string|int, mixed>
- returns parameters passed to the run method.
- getRegistryObject() : mixed
- getSetting() : mixed
- getSettingManager() : SettingManager|null
- getVersion() : string
- Application version number.
- globalExceptionHandler() : void
- Global exception handler for uncaught exceptions and errors Handles both Exception and Error (PHP 7+)
- initEvents() : void
- Loads event-listeners.yaml and maps all event listeners to their associated events.
- initLogger() : void
- Initializes the logger based on the parameters set in neuron.yaml.
- isCommandLine() : bool
- Returns true if the application is running in command line mode.
- phpErrorHandler() : bool
- Handler for PHP errors.
- run() : bool
- Call to run the application.
- setBasePath() : Base
- setEventListenersPath() : Base
- setHandleErrors() : Base
- setHandleFatal() : Base
- setRegistryObject() : mixed
- setSetting() : void
- setSettingSource() : $this
- willHandleErrors() : bool
- willHandleFatal() : bool
- addHandler() : void
- Adds a handler for command line parameters.
- executeInitializers() : void
- Executes all initializer classes located in app/Initializers.
- formatFatalError() : string
- Format fatal error for display Uses HTML for web, plain text for CLI
- getDescription() : string
- Get the description of the application for --help.
- getHandlers() : array<string|int, mixed>
- Returns an array of all handlers for command line parameters.
- help() : bool
- Activated by the --help parameter. Shows all configured switches and their hints.
- initErrorHandlers() : void
- Sets up the php error and fatal handlers.
- initSettings() : void
- onCrash() : void
- Called by the fatal handler if invoked.
- onError() : bool
- Called for any unhandled exceptions.
- onFinish() : void
- Called immediately after onRun.
- onRun() : void
- Must be implemented by derived classes.
- onStart() : bool
- Called by ApplicationBase. Returning false terminates the application.
- processParameters() : bool
- Processes all parameters passed to the application.
- handleParameter() : bool
- Handles a single parameter passed on the command line.
Properties
$_crashed
protected
bool
$_crashed
= false
$_handleErrors
protected
bool
$_handleErrors
= false
$_handleFatal
protected
bool
$_handleFatal
= false
$_parameters
protected
array<string|int, mixed>
$_parameters
$_settings
protected
SettingManager|null
$_settings
= null
$_version
protected
string
$_version
$_basePath
private
string
$_basePath
$_eventListenersPath
private
string
$_eventListenersPath
$_handlers
private
array<string|int, mixed>
$_handlers
$_registry
private
Registry|null
$_registry
Methods
__construct()
Initial setup for the application.
public
__construct(string $version[, ISettingSource|null $source = null ]) : mixed
Loads the config file. Initializes the logger.
Parameters
- $version : string
- $source : ISettingSource|null = null
Tags
beautifyException()
Format exception/error for display Base implementation outputs plain text (CLI-friendly) MVC Application overrides this for HTML output
public
static beautifyException(Throwable $throwable) : string
Parameters
- $throwable : Throwable
Return values
stringfatalHandler()
Handler for fatal errors.
public
fatalHandler() : void
Checks for actual fatal errors and formats them for display
getBasePath()
public
getBasePath() : string
Return values
stringgetCrashed()
public
getCrashed() : bool
Return values
boolgetEventListenersPath()
public
getEventListenersPath() : string
Return values
stringgetParameter()
Gets a parameter by name.
public
getParameter(string $name) : mixed
Parameters
- $name : string
getParameters()
returns parameters passed to the run method.
public
getParameters() : array<string|int, mixed>
Return values
array<string|int, mixed>getRegistryObject()
public
getRegistryObject(string $name) : mixed
Parameters
- $name : string
getSetting()
public
getSetting(string $section, string $name) : mixed
Parameters
- $section : string
- $name : string
getSettingManager()
public
getSettingManager() : SettingManager|null
Return values
SettingManager|nullgetVersion()
Application version number.
public
getVersion() : string
Return values
stringglobalExceptionHandler()
Global exception handler for uncaught exceptions and errors Handles both Exception and Error (PHP 7+)
public
globalExceptionHandler(Throwable $throwable) : void
Parameters
- $throwable : Throwable
initEvents()
Loads event-listeners.yaml and maps all event listeners to their associated events.
public
initEvents() : void
initLogger()
Initializes the logger based on the parameters set in neuron.yaml.
public
initLogger() : void
destination format file level
Tags
isCommandLine()
Returns true if the application is running in command line mode.
public
isCommandLine() : bool
Return values
boolphpErrorHandler()
Handler for PHP errors.
public
phpErrorHandler(int $errorNo, string $message, string $file, int $line) : bool
Parameters
- $errorNo : int
- $message : string
- $file : string
- $line : int
Return values
boolrun()
Call to run the application.
public
run([array<string|int, mixed> $argv = [] ]) : bool
Parameters
- $argv : array<string|int, mixed> = []
Tags
Return values
boolsetBasePath()
public
setBasePath(string $basePath) : Base
Parameters
- $basePath : string
Return values
BasesetEventListenersPath()
public
setEventListenersPath(string $eventListenersPath) : Base
Parameters
- $eventListenersPath : string
Return values
BasesetHandleErrors()
public
setHandleErrors(bool $handleErrors) : Base
Parameters
- $handleErrors : bool
Return values
BasesetHandleFatal()
public
setHandleFatal(bool $handleFatal) : Base
Parameters
- $handleFatal : bool
Return values
BasesetRegistryObject()
public
setRegistryObject(string $name, mixed $object) : mixed
Parameters
- $name : string
- $object : mixed
setSetting()
public
setSetting(string $section, string $name, string $value) : void
Parameters
- $section : string
- $name : string
- $value : string
setSettingSource()
public
setSettingSource(ISettingSource $source) : $this
Parameters
- $source : ISettingSource
Return values
$thiswillHandleErrors()
public
willHandleErrors() : bool
Return values
boolwillHandleFatal()
public
willHandleFatal() : bool
Return values
booladdHandler()
Adds a handler for command line parameters.
protected
addHandler(string $switch, string $description, string $method[, bool $param = false ]) : void
The switch is the parameter that causes the specified method to be called. If the param parameter is set to true, the token immediately following the switch on the command line will be passed as the parameter to the handler.
Parameters
- $switch : string
-
the name of the switch.
- $description : string
-
the description of the switch.
- $method : string
-
the name of the switch handler method.
- $param : bool = false
-
if true, the next parameter will be passed to the handler as the value of the switch.
Tags
executeInitializers()
Executes all initializer classes located in app/Initializers.
protected
executeInitializers() : void
formatFatalError()
Format fatal error for display Uses HTML for web, plain text for CLI
protected
formatFatalError(string $type, string $message, string $file, int $line) : string
Parameters
- $type : string
- $message : string
- $file : string
- $line : int
Return values
stringgetDescription()
Get the description of the application for --help.
protected
abstract getDescription() : string
Return values
stringgetHandlers()
Returns an array of all handlers for command line parameters.
protected
getHandlers() : array<string|int, mixed>
Return values
array<string|int, mixed>help()
Activated by the --help parameter. Shows all configured switches and their hints.
protected
help() : bool
Return values
boolinitErrorHandlers()
Sets up the php error and fatal handlers.
protected
initErrorHandlers() : void
initSettings()
protected
initSettings(ISettingSource|null $source) : void
Parameters
- $source : ISettingSource|null
onCrash()
Called by the fatal handler if invoked.
protected
onCrash(array<string|int, mixed> $error) : void
Parameters
- $error : array<string|int, mixed>
onError()
Called for any unhandled exceptions.
protected
onError(string $message) : bool
Returning false skips executing onFinish.
Parameters
- $message : string
Return values
boolonFinish()
Called immediately after onRun.
protected
onFinish() : void
onRun()
Must be implemented by derived classes.
protected
abstract onRun() : void
onStart()
Called by ApplicationBase. Returning false terminates the application.
protected
onStart() : bool
Return values
boolprocessParameters()
Processes all parameters passed to the application.
protected
processParameters() : bool
Return values
bool —returns false if the execution should be halted.
handleParameter()
Handles a single parameter passed on the command line.
private
handleParameter(string $param, int &$index) : bool
Parameters
- $param : string
- $index : int
Return values
bool —returns false if the execution should be halted.