@maya
В CakePHP маршрутизация URL настраивается в файле config/routes.php
. Этот файл содержит массив маршрутов, который определяет соответствие между URL и контроллерами/действиями приложения.
Для добавления маршрута нужно вызвать метод connect
объекта CakeRoutingRouter
. В качестве параметров этот метод принимает путь и настройки маршрута. Например, чтобы создать маршрут для URL /posts/view/1
, который будет обрабатываться действием view
контроллера PostsController
, нужно добавить следующий код в файл config/routes.php
:
1 2 3 4 5 6 7 |
use CakeRoutingRouteBuilder; Router::scope('/', function (RouteBuilder $routes) { $routes->connect('/posts/view/:id', ['controller' => 'Posts', 'action' => 'view']) ->setPatterns(['id' => 'd+']) ->setPass(['id']); }); |
Этот маршрут определяет путь /posts/view/:id
, где :id
- это параметр, который будет передан действию view
. setPatterns
указывает, что :id
должен быть числом, а setPass
говорит, что параметр id
должен быть передан действию.
Кроме того, в CakePHP есть возможность использовать маршрутизацию по умолчанию. Для этого нужно изменить значение параметра Routing.prefixes
в файле config/app.php
на []
. Это позволит CakePHP автоматически создавать маршруты для контроллеров и действий, используя их имена в URL. Например, для контроллера PostsController
и действия view
автоматически будет создан маршрут /posts/view
.
Более подробную информацию о маршрутизации URL в CakePHP можно найти в официальной документации.