Skip to content

Instantly share code, notes, and snippets.

@kobus1998
Created April 29, 2019 15:02
Show Gist options
  • Save kobus1998/5c0569f67d66cc7b5714a05bdba826e7 to your computer and use it in GitHub Desktop.
Save kobus1998/5c0569f67d66cc7b5714a05bdba826e7 to your computer and use it in GitHub Desktop.
Routing design
<?php
$router = new Router();
$router->addService('twig', $twig);
$router->addService('logger', function ($msg) {
echo $msg;
});
$router->addRoute('GET', '/users', [Controller::class, 'getUsers']);
$router->addRoute('GET', '/users/:userId', [ $middleware ], function ($req, $res, $services) {
return $services->respond('123');
});
try {
$router->execute();
} catch (\StatusFourZeroFour $e) {
$router->response->redirect('/404');
} catch (\StatusForbidden $e) {
$router->response()->redirect('/');
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment