Parses given command, creates new class object and calls its method via call_user_func_array
public static parseAndRunCommand ( string $command ) : mixed | ||
$command | string | |
return | mixed |
public function testParseAndRunCommand() { $result = TaskRunner::parseAndRunCommand('mult1mate\\crontab_tests\\ActionMock::returnResult()'); $this->assertTrue($result); $result = TaskRunner::parseAndRunCommand('mult1mate\\crontab_tests\\ActionMock::wrongMethod()'); $this->assertFalse($result); TaskLoader::setClassFolder(__DIR__ . '/runner_mocks'); $result = TaskRunner::parseAndRunCommand('RunnerMock::anyMethod()'); $this->assertFalse($result); }
public function runTask() { if (isset($_POST['task_id'])) { $tasks = !is_array($_POST['task_id']) ? array($_POST['task_id']) : $_POST['task_id']; foreach ($tasks as $t) { $task = Task::findByPk($t); /** * @var Task $task */ $output = TaskRunner::runTask($task); echo $output . '<hr>'; } } elseif (isset($_POST['custom_task'])) { $result = TaskRunner::parseAndRunCommand($_POST['custom_task']); echo $result ? 'success' : 'failed'; } else { echo 'empty task id'; } }