|
|
@ -55,13 +55,19 @@ class CliController |
|
|
|
* @param iCli $cli_class |
|
|
|
* @throws ErrorException |
|
|
|
*/ |
|
|
|
public function execute($cli_class) |
|
|
|
public function execute($cli) |
|
|
|
{ |
|
|
|
try { |
|
|
|
if (!in_array('iCli', class_implements($cli_class))) { |
|
|
|
throw new ErrorException('Runner "' . get_class($cli_class) . '" need implement of "iCli" interface.'); |
|
|
|
if (is_string($cli)) { |
|
|
|
if (!class_exists($cli)) { |
|
|
|
throw new GeneralException('Action class "' . $cli . '" not found.'); |
|
|
|
} |
|
|
|
$cli_class->run(); |
|
|
|
$cli = new $cli; |
|
|
|
} |
|
|
|
if (!in_array('iCli', class_implements($cli))) { |
|
|
|
throw new ErrorException('Runner "' . get_class($cli) . '" need implement of "iCli" interface.'); |
|
|
|
} |
|
|
|
$cli->run(); |
|
|
|
if (Config::get('PROFILER')) { |
|
|
|
$profile = Profiler::getInstance()->getCli(); |
|
|
|
if (Config::get('LOGGING')) { |
|
|
|