In event you have access to CLI object so you can get all parameters and commands.
Access to CLI commands is offered by object:
$this->cli
Take a look at example:
/src/SkynetUser/MyListener.php
public function onCli()
{
if($this->cli->isCommand('foo'))
{
/* do something */
}
}
Code above checks for command foo exists in CLI input.
Method isCommand('COMMAND_NAME'):
$this->cli->isCommand('foo')
returns TRUE if there is command @foo typed in CLI console.
Note that argument passed here is without "-" prefix.
Access to specified command parameters is offered by method:
$this->cli->getParams('foo')
It returns array with passed arguments.
If a command gets only one argument you can access it by:
$this->cli->getParam('foo')
Example:
If you want check for command -foo passed by CLI mode and it params, e.g.:
php skynet.php -foo param1 param2
You will need to do this like this:
/src/SkynetUser/MyListener.php
public function onCli()
{
if($this->cli->isCommand('foo'))
{
$params = $this->cli->getParams('foo');
foreach($params as $param)
{
/* some code here */
}
}
}
If method onCli() returns any string then this string will be displayed in CLI mode.
Example:
/src/SkynetUser/MyListener.php
public function onCli()
{
if($this->cli->isCommand('foo'))
{
/* do something */
return 'Something was done.';
}
}