Added return feature and arrow function example

This commit is contained in:
SteamPixel 2021-01-14 15:52:23 +01:00
parent 66a6bbae95
commit dbb63d3043
2 changed files with 17 additions and 4 deletions

View File

@ -134,6 +134,17 @@ Route::add('/الرقص-العربي', function() {
echo 'Arabic example. Non english letters should work too <br>';
});
// Return example
// Returned data gets echoed
Route::add('/return', function() {
navi();
return 'This text gets returned by the add method';
});
// Arrow function example
// Note: You can use this example only if you are on PHP 7.4 or higher
// Route::add('/arrow/([a-z-0-9-]*)', fn($foo) => 'This is a working arrow function example. Parameter: '.$foo );
// Trailing slash example
Route::add('/aTrailingSlashDoesNotMatter', function() {
navi();

View File

@ -57,9 +57,9 @@ class Route {
}
}
}
$path = urldecode($path);
// Get current request method
$method = $_SERVER['REQUEST_METHOD'];
@ -96,7 +96,9 @@ class Route {
array_shift($matches); // Remove basepath
}
call_user_func_array($route['function'], $matches);
if($return_value = call_user_func_array($route['function'], $matches)) {
echo $return_value;
}
$route_match_found = true;
@ -107,7 +109,7 @@ class Route {
}
// Break the loop if the first found route is a match
if($route_match_found&&!$multimatch){
if($route_match_found&&!$multimatch) {
break;
}