Синтаксис маршрутизации CakePHP - PullRequest
1 голос
/ 01 мая 2011

Как мне сделать простой маршрут в CakePHP ?

Мне нужно, чтобы каждый URL-адрес был перенаправлен путем замены действия и контроллера. Я просто не мог понять синтаксис заполнителей.

Пример:

/files/read/3

до

/read/files/3

- дополнительно -

В моем приложении я использую псевдонимы для контроллеров. и я хочу направить каждый URL с определенным ключевым словом в качестве действия на определенный контроллер.
Я также хочу предоставить исходное имя контроллера в качестве параметра.
Вот пример 1: 1: Есть алисы: fruits и streets.
Ключевое слово, которое я хочу поймать в действии: find.
Имя нового контроллера finder.
Следующие звонки соответствуют моему состоянию:
/fruits/find/apple/red и /streets/find/longer
Маршрутизатор должен перехватить эти URL-адреса и преобразовать их в:
/finder/fruits/apple/red (или предоставить параметры другим способом, я не против) и /finder/streets/longer

Как это сделать?

1 Ответ

0 голосов
/ 01 мая 2011

Вот строка кода, которую нужно ввести в /app/config/routes.php:

Router::connect('/:action/:controller/*', array('controller' => ':controller', 'action' => ':action'));

Узнайте больше: Как видно из книги CakePHP , существуют некоторые «зарезервированные» шаблоны для конфигурации маршрутизации. Примером может служить то, что я использовал в строке выше: :action и :controller. Эти шаблоны позволяют настраивать маршруты.

Осторожно : изменение порядка контроллера и действий в URL-адресах может привести к непредвиденным последствиям в функциональности других функций CakePHP. Я не проверил тщательно, но это всего лишь общее предупреждение.

Осторожно : Также я заметил, что вы привели в своем примере: /files/read/3. Возможно, это был просто какой-то фиктивный пример, но если вы действительно планируете, чтобы MVC был назван «file», имейте в виду, что он будет конфликтовать с базовыми классами CakePHP (например, File модель будет конфликтовать с File class).

Во всяком случае, надеюсь, что этот ответ поможет вам хорошо. И мне очень нравится, как смена имен контроллеров и действий делает URL более читабельным. : D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...