Главная > PHP > Симфония не зазвучала. symfony не понравился.

Симфония не зазвучала. symfony не понравился.

Работаю сейчас над проектом, который разрабатывается с использованием PHP фреймворка - symfony. В целом, после Zend Framework, symfony мне очень тяжело дается. Бесконечная генерация миллионов классов, тысячу раз чистить кеш, и только потом получить рабочее приложение - уж сильно накладно.

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

Еще один важный момент. Перед тем как начинать генерацию классов и SQL для проекта - нужно 100% определиться с необходимыми полями в БД, иначе потом придется производить все действия заново. К сожалению в нынешних условиях разработки я не знаю ни одного проекта, который бы с начала проектирования сохранил свой первозданный вид. Всегда будут “А может еще добавить…” и тут сразу возникают трудности.

Конечно, генерировать классы удобно, да и идея  ORM просто отличная, но к сожалению в проекте используем Propel, и танцы с бубном над правильным составлением Criteria достали уже.

Приятно порадовала простота реализации мультиязычности средствами i18N, надо будет посмотреть как обстоят дела у ZF с этим. Но в целом фреймворк пока не радует. Хотя мб это и ошибочное мнение и я просто не нашел подход к symfony.

Тем не менее продолжаю любить Zend Framework с его плохой реализацией шаблонов для форм :)

admin PHP , , ,

  1. 7 Апрель 2009 в 16:43 | #1

    >>Только если вам необходимо создать нечто более оригинальное - то тут симфони становится преградой вашим задумкам.
    да бросьте. Там как раз таки преград им нет совершенно. Никто не заставляет использовать генераторы на сложных проектах. Да и то при желании отталкиваться от них можно
    >>Вообще складывается впечатление что фреймворк рассчитан та то, что б можно было показать как быстро на нем делаются блоги.
    Проекты Jobeet и askeet говорят обратное. И блогами далеко не ограничевается
    >>Еще один важный момент. Перед тем как начинать генерацию классов и SQL для проекта - нужно 100% определиться с необходимыми полями в БД, иначе потом придется производить все действия заново.
    Ой не правда. Реверс инжиниринг вполне приемлем. Никто не заставляет создавать схему вручну - можно сгенерировать её из существующей базы. При изменении базы - перестраивать схему и модели. Реализация на основе базовых и дочерних классов позволит не потерять изменения в сами моделях
    >>танцы с бубном над правильным составлением Criteria достали уже.
    Есть плагин dbFinder ;)
    К тому же никто пропелом не ограничивает - можно и доктрин. А можно вообще на основе своих моделей - жёсткой привязки нет, главное ковырнуть в нужном месте

  2. admin
    8 Апрель 2009 в 08:50 | #2

    >> К тому же никто пропелом не ограничивает - можно и доктрин. А можно вообще на основе своих моделей - жёсткой привязки нет, главное ковырнуть в нужном месте
    Доктрин уже юзать не будем, т.к. присоеденился к проекту когда пропел уже использовался.
    >> Есть плагин dbFinder
    Спасибо, попытаюсь найти пример использования и получить от него пользу

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

    @maddogg , спасибо за интересный комментарий.

  3. 8 Апрель 2009 в 10:13 | #3

    @maddog
    Вы правильно сказали, главное ковырнуть в нужном месте. А мест для ковыряния там ой как много. И хуже всего, что приходится этим заниматься.
    Я писал на симфони уже после того, как работал с Codeigniter и Zend Framework, и как по мне то symfony сложнее.

  4. witdex
    8 Апрель 2009 в 17:49 | #4

    @ischenkodv > и как по мне то symfony сложнее.
    ну так конечно сложнее это ведь не CodeIgniter, сам на нем пишу иногда, он ничего не умеет, таким же образом вы можете взять несколько классов, написать загрузчик в виде синглтона и реестра и будет тот же CI, за вечер _версию для бедных_ можно сделать.
    Автору хочется посоветовать почитать документацию по symfony так как в посте ничего! из реальной жизни нет. Могу опровергнуть каждую фразу :) Но сделаю только для двух )) которые больше всего могут перекосить мнение человека при выборе фреймворка..
    >> Вообще складывается впечатление что фреймворк рассчитан та то, что б можно было показать как быстро на нем делаются блоги. //
    Даже близко не так .. такие проекты как Yahoo! Bookmarks, Yahoo! Answers, delicious.com, dailymotion.com так вот если эти сайты вы видели, они на symfony, это далеко не полный список, который можно на офф сайте symfony.
    >> нужно 100% определиться с необходимыми полями в БД //
    частично правда, и только! в определенном подходе разработки, так есть base классы и пользовательские дочерные которые не перезаписываются, если не уверены в названии полей, перегенерация ничего по большому счету не изменит только названия методы гетеров и сетеров, так что в таком случае можно даже использовать обертку в дочерных классах модели и кстати jobeet это хорошо демонстрирует
    пис :)

  5. 3 Июль 2009 в 14:16 | #5

    У меня ситуация обратная - сначала изучал symfony, теперь перешел на Zend Framework. В принципе, полностью им доволен.

  1. 4 Декабрь 2009 в 00:05 | #1
  2. 18 Декабрь 2009 в 19:57 | #2
  3. 8 Январь 2010 в 01:06 | #3
  4. 18 Январь 2010 в 07:37 | #4