[TASK] Load group middleware if prefix matches

- Middlewares from groups are now loaded if prefix matches.
- Optimisations.
This commit is contained in:
Simon Sessingø
2016-04-09 09:25:41 +02:00
parent 9b743e6e57
commit 257875c6f9
3 changed files with 8 additions and 6 deletions
+7 -1
View File
@@ -68,7 +68,7 @@ class RouterBase {
$newPrefixes = $prefixes;
if($route->getPrefix()) {
if($route->getPrefix() && trim($route->getPrefix(), '/') !== '') {
array_push($newPrefixes, trim($route->getPrefix(), '/'));
}
@@ -85,6 +85,12 @@ class RouterBase {
if($route instanceof RouterGroup && is_callable($route->getCallback())) {
$group = $route;
// Load middleware on group if route matches
if($route->matchRoute($this->request)) {
$route->loadMiddleware($this->request);
}
$route->renderRoute($this->request);
$mergedSettings = array_merge($settings, $route->getMergeableSettings());
}
+1 -1
View File
@@ -93,7 +93,7 @@ abstract class RouterEntry {
* @return self
*/
public function setPrefix($prefix) {
$this->prefix = '/' . trim($prefix, '/') . '/';
$this->prefix = '/' . ltrim($prefix, '/');
return $this;
}
-4
View File
@@ -7,10 +7,6 @@ use Pecee\Http\Request;
class RouterGroup extends RouterEntry {
public function __construct() {
parent::__construct();
}
public function matchDomain(Request $request) {
if($this->domain !== null) {