registerMiddleware('csrf', new CsrfProtectionMiddleware([ 'httpOnly' => true ])); /** * Apply a middleware to the current route scope. * Requires middleware to be registered via `Application::routes()` with `registerMiddleware()` */ $routes->applyMiddleware('csrf'); /** * Here, we are connecting '/' (base path) to a controller called 'Pages', * its action called 'display', and we pass a param to select the view file * to use (in this case, src/Template/Pages/home.ctp)... */ $routes->connect('/', ['controller' => 'Home', 'action' => 'display', 'home']); /** * ...and connect the rest of 'Pages' controller's URLs. */ $routes->connect('/pages/*', ['controller' => 'Pages', 'action' => 'display']); /** * Connect catchall routes for all controllers. * * Using the argument `DashedRoute`, the `fallbacks` method is a shortcut for * * ``` * $routes->connect('/:controller', ['action' => 'index'], ['routeClass' => 'DashedRoute']); * $routes->connect('/:controller/:action/*', [], ['routeClass' => 'DashedRoute']); * ``` * * Any route class can be used with this method, such as: * - DashedRoute * - InflectedRoute * - Route * - Or your own route class * * You can remove these routes once you've connected the * routes you want in your application. */ $routes->fallbacks(DashedRoute::class); }); /** * If you need a different set of middleware or none at all, * open new scope and define routes there. * * ``` * Router::scope('/api', function (RouteBuilder $routes) { * // No $routes->applyMiddleware() here. * // Connect API actions here. * }); * ``` */