forked from PHP/Router
Update SegmentRouterTrait.php
This commit is contained in:
parent
ccb5a236a0
commit
77d833ca21
|
@ -63,13 +63,6 @@ trait SegmentRouterTrait
|
||||||
// node is a reference to our current location in the node tree
|
// node is a reference to our current location in the node tree
|
||||||
$node = $routes;
|
$node = $routes;
|
||||||
|
|
||||||
// if the URI is just a slash, we can return the handler for the root node
|
|
||||||
if ($uri === '/') {
|
|
||||||
return isset($node[$method])
|
|
||||||
? ['code' => 200, 'handler' => $node[$method], 'params' => null]
|
|
||||||
: ['code' => 405, 'handler' => null, 'params' => null];
|
|
||||||
}
|
|
||||||
|
|
||||||
// params will hold any dynamic segments we find
|
// params will hold any dynamic segments we find
|
||||||
$params = [];
|
$params = [];
|
||||||
foreach (explode('/', trim($uri, '/')) as $segment) {
|
foreach (explode('/', trim($uri, '/')) as $segment) {
|
||||||
|
@ -83,10 +76,15 @@ trait SegmentRouterTrait
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if the method doesn't exist, return 405
|
||||||
|
if (! array_key_exists($method, $node)) {
|
||||||
|
return ['code' => 405, 'handler' => null, 'params' => []];
|
||||||
|
}
|
||||||
|
|
||||||
// if we found a handler for the method, return it and any params. if not, return a 405
|
// if we found a handler for the method, return it and any params. if not, return a 405
|
||||||
return isset($node[$method])
|
return isset($node[$method])
|
||||||
? ['code' => 200, 'handler' => $node[$method], 'params' => $params]
|
? ['code' => 200, 'handler' => $node[$method], 'params' => $params]
|
||||||
: ['code' => 405, 'handler' => null, 'params' => []];
|
: ['code' => 404, 'handler' => null, 'params' => []];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue
Block a user