public function controller($name)
{
if (isset($this->_controllers[$name]) && ($controller = $this->_controllers[$name])) {
$name = is_callable($controller) ? new CallbackController($controller) : $controller;
if (is_object($name)) {
return $name;
}
}
if ($this->_resolver) {
return $this->_resolver->resolve($name);
}
throw new LookupException("No controller defined for route '{$name}'");
}