В простых приложениях можно обойтись маршрутами по-умолчанию, но в более-менее больших — уже приходится писать свои маршруты — для доступа к панели администрирования, для упрощения адресов часто используемых страниц и т.д. Например, в приложении-блоге логично вместо 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, Маршруты
Просматривая html-код страничек, генерируемых CakePHP, вы наверное замечали в конце страницы комментарий вида . Это время, затраченное на создание страницы. Такой комментарий автоматически добавляется к каждой страничке, если уровень отладки отличен от нуля. Уровень отладки переключается в файле /app/config/core.php.
В общем-то этот комментарий ничего криминального в себе не несет. Но только если вы создаете обычные html-странички. Если же в ответ на запрос пользователя должны выдаваться данные какого-нибудь другого формата, например JSON — этот комментарий будет мешать.
Как его отключить?
Читать дальше “Как убрать комментарий с временем создания страницы?”
Теги: cakephp, отладка
Вольный перевод заметки Felix Geisendörfer Basic CakePHP templating skills.
Документация по CakePHP описывает различные аспекты использования платформы, но в ней не рассматриваются практики создания шаблонов (views). В этой заметке я попробую сформулировать собственные наработки по их удобному составлению. Конечно, у всех разработчиков, постоянно работающих с Кейком уже есть свои стандарты и привычки, но надеюсь для новичков мои советы окажутся полезными.
Читать дальше “Основные навыки создания шаблонов в CakePHP”
Теги: cakephp, совет, Шаблоны
Вольный перевод заметки Felix Geisendörfer Dessert #8 - Render custom errors.
Наверное вы уже замечали папку /app/views/errors/ и знаете, что можете использовать ее для переопределения стандартных шаблонов для сообщений об ошибках из папки /cake/libs/view/errors/. Вот их полный список:
Читать дальше “Сообщения об ошибках в CakePHP”
Теги: cakephp, ошибка, шаблон
Соглашения (conventions) — это то, что принято называть «автомагией», когда достаточно выполнить одно-два простых условия, чтобы Кейк автоматически выполнил целый ряд действий, существенно ускоряющих разработку. Авторы CakePHP являются большими фанатами соглашений и стараются их использовать по-максимуму, вместо привычных опций конфигурации. Конечно, в самом начале работы с Кейком вам придется их изучать, но тут главное вникнуть в смысл — соглашения используются очень логично. К тому же, все разработчики на CakePHP уже изучившие правила работы с соглашениями, смогут быстро разобраться в вашем исходном коде, а вы — в их.
Соглашения CakePHP включают в себя лучшую практику веб-разработки, наработанную годами. Хотя создатели платформы и рекомендуют им следовать, но это вовсе не требование, а совет. Вы всегда можете отказаться от их использования.
Читать дальше “Соглашения в CakePHP”
Теги: cakephp
Удобнее всего если к списку дел можно обратиться откуда угодно — из дома, с работы, от заказчика. Кроме того, доступ к списку должен иметь не один человек, а все заинтересованные в его выполнению (сотрудники студии). Само собой напрашивается установить какую-нибудь веб-систему и завести в ней несколько аккаунтов.
Читать дальше “Ведение списков дел (часть вторая)”
Теги: планирование, работа
Вольный перевод статьи Tidy Output Filtering с официального сайта CakePHP (http://bakery.cakephp.org/articles/view/tidy-output-filtering).
В CakePHP можно довольно просто отфильтровать весь выводимый контент через Tidy, для того чтобы удостовериться в его валидности (соответствию стандартам) и доступности посковикам. Использование Tidy позволяет не заботиться о тщательной разметке шаблонов и контента, что особенно актуально когда контент создается самими пользователями сайта или неопытными сотрудниками заказчика. Конечно, дополнительный фильтр влияет на производительность, но чаще всего это очень удобное и полезное решение.
Читать дальше “Фильтрация разметки страниц с использованием Tidy”
Теги: cakephp, php, валидация
Решил собрать коллекцию самых часто задаваемых вопросов, из тех что возникают у начинающих программистов на CakePHP. Буду публиковать по частям.
Читать дальше “5 часто задаваемых вопросов по CakePHP (часть первая)”
Теги: cakephp
CakePHP — платформа для разработки веб-сайтов, написанная по всем принципам объектно-ориентированного программирования. Все блоки платформы представлены как объекты, со сложными схемами взаимодействия. К чему это я? Не стесняйтесь использовать принцип наследования - расширяйте функциональность стандартных блоков платформы.
Рассмотрим на примере хелперов. У нас в студии часто попадаются проекты с большим количеством статических страниц. Их удобнее хранить отдельными представлениями (views), чтобы не было проблем со вставкой и обработкой форм, картинок, элементов динамики и тому подобного. Опять же часто в этих статических страничках бывают произвольно разбросаны по тексту однотипные элементы, например картинки с одинаковым классом css или таблицы с хитрым заголовком.
Читать дальше “Расширяем функциональность стандартных хелперов”
Теги: cakephp