2012-12-13

Зачем нужны PHP фреймворки?

PHP фреймфорки сейчас в большом почёте.  Если PHP программист освоил один из популярных фреймворков он уже не просто PHP программист а, например, Zend Developer или Yii Guru или CodeIgnitor Ninga.

По роду деятельности я часто сталкиваюсь с разного рода фреймворками, но до сих пор не нашел ни одного который захотелось бы использовать. CodeIgnitor - вырубает напрочь возможность использования GET переменных, Zend Framework - красивый, масштабируемый, но все-же это монстр, Yii - быстрый, но я не до конца понял его соглашения об именах и не люблю PDO - идея хороша, но реализация - кака. Наверно поэтому, создавая проекты с нуля я обычно использую свои старые наработки, в котрых использую подходы подсмотренные мной в других фреймворках, и которые постепенно выросли тоже в некое подобие фреймфорка, который отражает мой подход к тому как я вижу идеальный каркас приложения.

Да, фреймворки сильно упрощают работу в команде, ускоряют создание готового продукта, но есть и обратная сторона - продукт становится более тяжеловесным - большинство возможностей фреймворка никогда не будут использованы, работа программиста от созидания новых вещей сводится к тупому применению готовых паттернов для достижения результата. Формат url запросов сильно ограничивается выбранным фреймворком.

Необходимость создания PHP Фреймворков возникла потому, что сам PHP не накладывает каких-либо ограничений на структуру программы, а полная свобода никогда не была нужна основной массе людей, они хотят жестких рамок, четких правил, готовых инструкций. Чтобы прийдя на работу ничего не нужно было творить - тупо сиди и кодируй.

Именно из-за таких людей мне не нравятся многие фреймворки - фреймворк может быть идеален, но посмотрев на код, который на нем можно написать и который при этом оказывается работоспособным становится страшно, ведь если бы этот человек не освоил данный фреймворк, может быть его бы быстрее уволили и мир стал бы чуточку лучше... Столько говна создается используя хорошие фреймворки, что иногода думаешь, что лучше бы таких фреймворков не было. Фреймворк нужен для того чтобы можно было использовать программистов начального уровня для выполнения сложных проектов.

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

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

Впрочем, поживём - увидим...

 

комментарии:

 
eikei | 2012-12-14

Делать свое!!!

и показать людям!!!

Даже если нет документации, если это принесет добро в наш мир, то безусловно - благое дело ...

Для того чтобы каждый раз не представляться можно войти как зарегистрированный пользователь.

Имя*

разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться