If $request is null, a new request object is instantiated based on the value of the
'request' key in the $_classes array.
public static run ( object $request = null, array $options = [] ) : object | ||
$request | object | An instance of a request object with console request information. If `null`, an instance will be created. |
$options | array | |
Résultat | object | The command action result which is an instance of `lithium\console\Response`. |
public function testRunWithCamelizingAction() { $result = Dispatcher::run(new Request(array('args' => array('\\lithium\\tests\\mocks\\console\\command\\MockCommandHelp', 'sample-task-with-optional-args')))); $this->assertTrue($result); $result = Dispatcher::run(new Request(array('args' => array('\\lithium\\tests\\mocks\\console\\command\\MockCommandHelp', 'sample_task_with_optional_args')))); $this->assertTrue($result); }
public function testEnvironmentIsSet() { $expected = 'production'; $response = Dispatcher::run(new Request(array('args' => array('lithium\\tests\\mocks\\console\\MockDispatcherCommand', 'testEnv', '--env=production')))); $result = $response->environment; $this->assertEqual($expected, $result); }
public function testInvalidCommand() { $expected = (object) array('status' => "Command `\\this\\command\\is\\fake` not found\n"); $result = Dispatcher::run(new Request(array('args' => array('\\this\\command\\is\\fake', 'testAction')))); $this->assertEqual($expected, $result); }
* Determine if we're in an application context by moving up the directory tree looking for * a `config` directory with a `bootstrap.php` file in it. If no application context is found, * just boot up the core framework. */ $library = dirname(dirname(__DIR__)); $app = null; $working = getcwd() ?: __DIR__; while (!$app && $working) { if (file_exists($working . '/config/bootstrap.php')) { $app = $working; } elseif (file_exists($working . '/app/config/bootstrap.php')) { $app = $working . '/app'; } else { $working = ($parent = dirname($working)) != $working ? $parent : false; } } if ($app) { include $app . '/config/bootstrap.php'; } else { define('LITHIUM_LIBRARY_PATH', $library); define('LITHIUM_APP_PATH', dirname($library) . '/app'); if (!(include LITHIUM_LIBRARY_PATH . '/lithium/core/Libraries.php')) { $message = "Lithium core could not be found. Check the value of `LITHIUM_LIBRARY_PATH` "; $message .= "in `config/bootstrap.php`. It should point to the directory containing your "; $message .= "`/libraries` directory."; trigger_error($message, E_USER_ERROR); } Libraries::add('lithium'); } exit(Dispatcher::run()->status);