CakePHP - 5 месяцев вместе, наверна эта любовь)

За это время неспеша сделал 2 хороших сайта на CakePHP. Выявил если не все, то многие плюсы и минусы.

Конечно, фреймворк, в частности Cake - не панацея и не волшебная таблетка. Я бы не рискнул, скажем, написать маршрутки Питера на фреймворке, все-таки в нем присутствует избыточность вычислений, и пусть 2500 хостов в сутки - не такая уж большая нагрузка, всё равно я бы нервничал :) А вот небольшие сайты с понятной информационной структурой очень приятно (именно приятно :)) делать на Кейке. Сам код до безобразия простой, понятный и короткий. Если раньше - открываешь сорцы сайта на php, который делал год-два назад, и полчаса вкуриваешь, что там да как, откуда что берется, почему такой код кривой и пр.. То сейчас весь код, написанный в рамках cakePHP, оценивается в единой среде, и укладывается в ту схему, которая уже у меня в голове, сразу понятно становится, что за что отвечает, где что находится. Это - громадный, если не главный, плюс фреймворков.

Главным минусом для меня оказалась плохая документация конкретно CakePHP. На какие-то простейшие вещи было угрохоно много часов времни в поисках нужной фичи/функции. Хотя, читая сравнительные статьи фреймворков одним из достоинств кейка выделяют как раз таки хорошую доку.. Видимо, по сравнению с другими фреймами у кейка дока хорошая… Ну ниче, после такого усиленного поиска различных фич я их намного быстрее запомнил, чем если бы просто посмотрел в доке :)

Что еще понравилось:

  • режим дебага классный (показывает текущие sql-запросы, говорит, какой функции/класса/файла недостает для выполнения скрипта, дамп текущих переменных и много чаво еще)

  • после некоторого времени становится понятна вся структура фреймворка, все составляющие разложены по полочкам, оч. удобно

  • удачно названы дефолтные функции, классы, файлы. Некоторые фичи я обнаружил, просто предположив наудачу название функции. Как говорится, интуитивно понятные названия :)

  • Довольно большой раздел готовых решений в разделе bakery.cakephp.org, даже если не находил нужных мне примеров 1 в 1, всегда есть похожие задачи, по мотивам которых можно решить свою.

  • Ну и конечно, бесплатность и живое развитие проекта :)

Кому рекомендую - всем, кто уже хорошо программит на php. Без живого примера разобраться нереально (имхо), нужно заставить себя с нуля создать сайт на CakePHP. Лично мне давался с большим трудом, это как переучивание писать левой рукой вместо правой.

У кого вопросы есть - задавайте, попробую ответить :)

Архив обсуждения

Исторические комментарии сохранены из старого блога. Это архив, новые комментарии не добавляются. Всего: 6.

  1. rusik

    ))я меньше 2 недель знаком, написал гостевую, правда на подобии блог системы в доках.
    Однако если не секрет, вы стали изучать cake и спустя некоторые время сразу взяли проект на фрилансе уже?( я просто новичок и опыт везде не большой,вот и интересуюсь!)

    1. leksus

      я одновременно начал изучать cake и делать сайт - для себя :)

  2. Lexx

    Как учить фремворк Cakephp ? я вообще мануалы читаю, и результатов ноль (мне кажется), может подскажешь как делать сайт на cakephp ?

    1. leksus

      Берешь какую-нить идею сайта и пытаешься сделать сайт на cakePHP по аналогии с тем сайтом, написание которого описывается в мануале.

  3. Vlad

    Уже третий день пытаюсь найти одну важную вещь по CakePHP - и ни единой зацепки. Суть в том, что мне надо добавить в приложение всякие там сайдбары, виждеты и прочее. А у меня вызывается только один контроллер в один момент времени. Не могу же я в каждом контроллере вызывать другие контроллеры. Подозреваю что это можно сделать в базовом контроллере, но так и не нашел хотя бы примерно как это делать.

    1. leksus

      Я уже давно отошел от CakePHP, вообще стал недолюбливать всевозможные фреймворки. В данный момент делаю сайты на популярных CMS + много напильника. Так что чем помочь не знаю.