Дополнительную гибкость системе маршрутов придают специальные элементы. Эти элементы вы можете определять сами, с их помощью в URL-адресе отмечаются места, где будут находиться параметры, передаваемые в функции контроллера. При выполнении запроса, значения специальных элементов сохраняются в массиве $this->params. Обратите внимание на отличие специальных элементов маршрута от именованных: именованные (/controller/action/name:value) передаются в массиве $this->passedArgs.
При создании специального элемента для него надо обязательно указать регулярное выражение — с его помощью CakePHP будет проверять правильность URL-адреса.
Читать дальше “Работаем с маршрутами в CakePHP (часть 3)”
Теги: cakephp, маршрут, пример, регулярное выражение
В CakePHP для определения путей к файлам используется сложная комбинация обработчиков — маршрутов. Плюс mod_rewrite вносит свою лепту. Из-за всего этого иногда бывает сложно определить правильный путь к статичному файлу, например, сохраненной картинке. Сегодня утром разбирался с этой проблемой.
Читать дальше “Проблемы с путями к статичным файлам в CakePHP”
Теги: cakephp, Маршруты
В простых приложениях можно обойтись маршрутами по-умолчанию, но в более-менее больших — уже приходится писать свои маршруты — для доступа к панели администрирования, для упрощения адресов часто используемых страниц и т.д. Например, в приложении-блоге логично вместо http://example.com/posts/latest для отображения списка последних постов использовать ссылку http://example.com/latest — так короче и проще запомнить.
Собственные маршруты записываются в файл /app/config/routes.php с использованием метода Router:connect().
Читать дальше “Работаем с маршрутами в CakePHP (часть 2)”
Теги: cakephp, Маршруты
Под маршрутизацией в CakePHP понимается привязка определенных функций контроллера к URL-адресам страниц сайта. Это необходимо для того, чтобы адреса страниц были короткими, простыми и понятными. Такие адреса легко запоминаются и хорошо индексируются поисковиками. Все методы, связанные с маршрутизацией, находятся в классе Router, большинство из этих методов — статические. В версии CakePHP 1.2 весь класс Router был полностью переработан.
Читать дальше “Работаем с маршрутами в CakePHP (часть 1)”
Теги: cakephp, Маршруты