вторник, 1 сентября 2009 г.

Мысли и фреймворки

Месяц назад начал новый проект на пятой версии PHP. Фреймворк - Symfony 1.2 . Производительность не самая высокая, но привлекает грамотный код, расширяемость, удобство.
Первое время изучал фреймворк. К тому моменту имел опыт работы с CakePHP, Zend Framework и самописными фрейворками и CMS. Было сложно уйти от простоты кейка, так сказать, cake-way. Кейк позволяет много вольностей в отличие от симфони.
Позволю сделать небольшое отступление. Многие фреймворки, с которыми я работал, реализуют паттер MVC (Model-View-Controller). Он дает хорошие результаты, чтобы не просто отделить код от отображения, но и для того чтобы отделить часть кода отвечающего за бизнес-логику от кода управления системой.
Многие современные фреймворки имеют подсистемы генерации кода, управляющего системой (админ-генераторы). Их основная проблема - слабые возможности штатного изменения (кастомизации). Также много проблем доставляют не самая лучшая реализация генерации частей системы отвечающих за работу с моделями, обладающими большим количеством связей. В частности моделей со связями типа "многие ко многим".
Но это все лирика. Основные сложности, с которыми сталкиваются новички в Symfony, это обилие документации. К сожалению, в документации не описаны многие возможности. Приходится обращаться к поисковым системам.
Также к минусам можно отнести высокий порог вхождения. Мне, как не самому слабому программисту, с опытом разработки веб-приложений около трех лет, было довольно сложно понять философию Symfony. Не могу и сейчас сказать, что я понял его до конца :) . Будем стараться.

PS. Несколько сумбурный пост. В голове куча мыслей. Попытался их хоть как-то упорядочить.

Комментариев нет: