Просматривая 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
Платформа CakePHP построена по принципу MVC — Модель-Вид-Контроллер. Модель представляет собой данные, вызовами функций модели выполняются запросы к СУБД. Контроллер управляет обработкой этих данных, связывает данные с внешним оформлением. Вид — это внешнее оформление данных, шаблон html-кода. Более подробно о принципах MVC читайте здесь. Для создания простейшей странички в CakePHP вам необходимо создать три файла — соответственно модель, контроллер и вид.
Читать дальше “Для новичков в CakePHP — как создать первую страничку?”
Теги: cakephp
Сегодня у этого блога первый маленький юбилей — 10-й пост. Скорость набрана не плохая, буду очень стараться не уронить планку.
Очень часто в своих проектах нам приходится реализовывать хранение и вывод иерархических данных — всевозможные древовидные структуры разделов и подразделов статей, категории товаров интернет-магазинов, папки с фотографиями и тому подобное. Многие организуют такие списки через простейшие id, name, parent_id, но у этого способа масса недостатков. Один из них — необходимость рекурсии, если неизвестен уровень вложенности искомого раздела. К счастью, в CakePHP есть встроенное средство для работы с иерархическими данными TreeBehavior, работающий по алгоритму MPTT (Multi Path Tree Traversal). Подробнее об этом алгоритме я напишу в следующий раз. Все примеры кода взяты из официальной документации на CakePHP.
Читать дальше “Использование TreeBehavior в CakePHP”
Теги: cakephp, Веб-разработка
В Пекарне CakePHP появилась статья с примерами кода для автоматического создания карты сайта в любом проекте. Предлагаю здесь ее перевод.
Чем большее распространение получает CakePHP, чем больше сайтов использует эту платформу, тем чаще возникает необходимость в автоматическом создании и обновлении sitemap’ов. Предлагаю простое сочетание вида и контроллера для оповещения пользователей и поисковых машин о новом контенте на вашем сайта.
Хотя sitemap’ы и не обязательны, но поддерживаются уже почти всеми поисковиками. С помощью CakePHP можно создавать их автоматически. Такие карты будут всегда самыми свежими и отражать весь контент, представленный на сайте. Это помогает быстрее достичь первых строк выдачи поисковиков.
Читать дальше “Автоматическое создание Sitemap в CakePHP”
Теги: cakephp, Веб-разработка