CakePHP — это платформа (framework) для упрощенной разработки веб-приложений на языке php. Сейчас существует уже целая куча подобных платформ, большинство из них более или менее слизаны с Ruby On Rails. Это вполне обосновано — php установлен на 90% всех хостинговых серверов в мире, а ruby пока еще только набирает обороты. В нашей студии CakePHP используется более двух лет, мы узнали о нем из анонса в девелоперской сети IBM.
Что нам дает использование этой платформы? Расширяемость и адаптацию. Каждый заказчик делает сайт с какой-то коммерческой целью. У каждого заказчика так или иначе отличается сфера и вид деятельности. Соответственно двух абсолютно одинаковых сайтов — не бывает.
Читать дальше “Плюсы и минусы CakePHP”
Теги: cakephp, работа
Несколько месяцев назад мы работали над одним крупным проектом. Сайт создавался на CakePHP, на тот момент содержал 7 моделей и 14 контроллеров, общее количество записей в таблицах — несколько десятков тысяч. Каково же было наше удивление, когда придя в один прекрасный день утром на работу, мы увидели что больше половины данных из базы удалено. Да и оставшиеся данные исчезали прямо на глазах.
Дурацкая мысль - «хакеры!» - была опровергнута просмотром журнала веб-сервера. Оказалось что по сайту просто лазает бот поисковой системы. Лазает уже больше восьми часов — весь вечер, ночь и наступившее утро. Доступ к сайту мы тут же закрыли, базу — восстановили из резервной копии и начали анализировать почему это произошло.
Читать дальше “Проверяйте сайты на битые ссылки!”
Теги: cakephp, php, бот, Веб-разработка, ошибка
При создании современных сайтов приходится обязательно учитывать особенности работы поисковых машин с контентом страниц. Во всех проектах, написанных с использованием CakePHP тоже нужно реализовывать seo-функции, хотя бы — простановку уникальных заголовков и мета-тегов для всех страниц. А поскольку обычно страницы сайта на CakePHP обрабатываются разными контроллерами, задача может стать совсем нетривиальной.
Для проектов в нашей студии используется простой SeoComponent, позволяющий автоматически загружать из базы данных в макет (layout) заголовки и мета-теги, основываясь на адресе запрошенной страницы.
Читать дальше “Seo-компонент для CakePHP”
Теги: cakephp, php, Веб-разработка
Очень часто при разработке простых проектов нужно быстро подключить простую аутентификацию для запроса логина-пароля при попытке доступа к определенным страничкам сайта. Например, нужно закрыть от общего доступа временную администраторскую панель или запаролить секретную страничку. Это можно сделать с помощью компонента ValidationComponent. Его необходимо сохранить в папку app/controllers/components/ вашего проекта под именем validation.php.
Читать дальше “Простая аутентификация в CakePHP”
Теги: cakephp, php, Веб-разработка
Допустим, есть у нас таблица категорий «categories», построенная по самому простому принципу — id, name, parent_id. И есть список товаров, привязанных к этим категориям по полю «category_id». Список довольно большой — свыше двух тысяч наименований. Стандартным шеллом CakePHP можно подготовить функции в контроллере и вид (view) для постраничного просмотра списка товаров с помощью PaginatorHelper. Но проматывать больше сотни страниц для того чтобы найти нужный товар, крайне непродуктивно. Соответственно, надо сделать фильтрацию по категории товаров.
Подразумевается, что связь hasMany между категориями и товарами уже настроена. Обязательно также нужна и обратная ей — belongsTo.
Читать дальше “Фильтрация списка по категориям в CakePHP”
Теги: cakephp, php, Веб-разработка