Skip to content

Commit

Permalink
Support for named routes with controller and thereby reverse routing
Browse files Browse the repository at this point in the history
  • Loading branch information
frederikbosch committed Mar 19, 2015
1 parent 7361875 commit 440a9a7
Showing 1 changed file with 19 additions and 2 deletions.
21 changes: 19 additions & 2 deletions src/Phroute/RouteCollector.php
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,11 @@ public function controller($route, $classname, array $filters = [])
$reflection = new ReflectionClass($classname);

$validMethods = $this->getValidMethods();

if(is_array($route))
{
list($route, $name) = $route;
}

$sep = $route === '/' ? '' : '/';

Expand All @@ -288,10 +293,22 @@ public function controller($route, $classname, array $filters = [])

if($methodName === self::DEFAULT_CONTROLLER_ROUTE)
{
$this->addRoute($valid, $route . $params, [$classname, $method->name], $filters);
if (isset($name))
{
$this->addRoute($valid, [$route . $params, $name], array($classname, $method->name), $filters);
}
else
{
$this->addRoute($valid, $route . $params, array($classname, $method->name), $filters);
}

}

$this->addRoute($valid, $route . $sep . $methodName . $params, [$classname, $method->name], $filters);
if (isset($name)) {
$this->addRoute($valid, [$route . $sep . $methodName . $params, $name . '-' . $methodName], array($classname, $method->name), $filters);
} else {
$this->addRoute($valid, $route . $sep . $methodName . $params, array($classname, $method->name), $filters);
}

break;
}
Expand Down

0 comments on commit 440a9a7

Please sign in to comment.