Optimisations

This commit is contained in:
Simon Sessingo
2017-12-02 19:30:30 +01:00
parent efd5159604
commit c4ee1b9186
8 changed files with 51 additions and 33 deletions
+15 -2
View File
@@ -56,6 +56,12 @@ abstract class Route implements IRoute
protected $originalParameters = [];
protected $middlewares = [];
/**
* Load class by name
* @param string $name
* @return mixed
* @throws NotFoundHttpException
*/
protected function loadClass($name)
{
if (class_exists($name) === false) {
@@ -65,6 +71,13 @@ abstract class Route implements IRoute
return new $name();
}
/**
* Render route
*
* @param Request $request
* @return string|mixed
* @throws NotFoundHttpException
*/
public function renderRoute(Request $request)
{
$callback = $this->getCallback();
@@ -119,7 +132,7 @@ abstract class Route implements IRoute
if (preg_match_all('/' . $regex . '/u', $route, $parameters) > 0) {
$urlParts = preg_split('/((\-?\/?)\{[^}]+\})/', rtrim($route, '/'));
$urlParts = preg_split('/((\-?\/?)\{[^}]+\})/', $route);
foreach ($urlParts as $key => $t) {
@@ -149,7 +162,7 @@ abstract class Route implements IRoute
$urlParts[$key] = preg_quote($t, '/') . $regex;
}
$urlRegex = join('', $urlParts);
$urlRegex = implode('', $urlParts);
} else {
$urlRegex = preg_quote($route, '/');