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

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

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

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

  • режим дебага классный (показывает текущие sql-запросы, говорит, какой функции/класса/файла недостает для выполнения скрипта, дамп текущих переменных и много чаво еще)
  • после некоторого времени становится понятна вся структура фреймворка, все составляющие разложены по полочкам, оч. удобно
  • удачно названы дефолтные функции, классы, файлы. Некоторые фичи я обнаружил, просто предположив наудачу название функции. Как говорится, интуитивно понятные названия :)
  • Довольно большой раздел готовых решений в разделе bakery.cakephp.org, даже если не находил нужных мне примеров 1 в 1, всегда есть похожие задачи, по мотивам которых можно решить свою.
  • Ну и конечно, бесплатность и живое развитие проекта :)

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

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