Determines which command to use for current request.

Parameters

  • object $request An instance of a `Request` object.
  • array $params Request params that can be accessed inside the filter.
  • array $options

Returns

class lithium\console\Command Returns the instantiated command object.

Source

						protected static function _callable($request, $params, $options) {
		$params = compact('request', 'params', 'options');
		return static::_filter(__FUNCTION__, $params, function($self, $params) {
			$request = $params['request'];
			$params = $params['params'];
			$name = $params['command'];

			if (!$name) {
				$request->params['args'][0] = $name;
				$name = 'lithium\console\command\Help';
			}
			if (class_exists($class = Libraries::locate('command', $name))) {
				return new $class(compact('request'));
			}
			throw new UnexpectedValueException("Command `{$name}` not found.");
		});
	}