Jul 20

Собственно, о том, что вышла Symfony 1.1 писали многие, и вы об этом наверняка уже слышали. Но для тех, кто об этом еще не знает, повторю нововведения, а также выскажу о них своё [авторитетное :)] мнение:

  • Новая архитектура. Явное улучшение - компоненты теперь меньше зависят друг от друга.
  • Новая система конфигурирования. К счастью, конфигурация через YAML-файлы никуда не делась. Просто сама структура конфигов переделана.
  • “The new object-oriented form framework“. Звучит действительно круто. А смысл такой - генерация форм динамически, вместо статических хелперов (которые, кстати, остались), а также - вся работа с формами (указание полей, их валидаторов, настройка свойств показа формы и прочее)  теперь делается в одном месте, что очень удобно. Есть интеграция форм с Propel, например - автоматическая генерация форм по модели.
  • Новая система консольных комманд. Честно сказать - если вы не разрабатываете плагины, то разницу вы увидите только в том, что некоторые комманды поменяли своё название.
  • Новый парсер YAML. Разве что изменили выдачу инфы об ошибках. Ну и кое-что добавили. Как по мне - для конечного девелопера разница очень мала.
  • Теперь плагины - это обычные пакеты PEAR, со всеми вытекающими последствиями, из которых главным, на мой взгляд, является возможность указаниязависимостей от других плагинов.
  • Теперь можно выдавать различные вьюхи в зависимости от того, какоt значение принимает хедер Accept. Поподробнее - здесь.
  • Собствено, ORM теперь полностью вынесен в плагины. Symfony 1.0 содержала в себе Propel 1.2, и была возможность заменить его на Propel 1.3/Doctrine через плагины. Теперь же и Propel 1.2 вынесен в отдельный плагин. Скорее всего эта возможность пришла вследствии пункта №1.
  • Для того, чтобы приложения, написанные на Symfony 1.0 запускались на версии 1.1 был сделан sfCompat10Plugin, который, насколько я понял, в версии 1.2 уберут совсем. К сожалению, проекты всё таки прийдется дорабатывать, чтобы они работали на Symfony 1.1, подробнее об этом можно прочесть здесь.
  • Переписан класс routing’а. Теперь все пути кешируются + от этого класса можно отнаследоваться и переделать, от чего бы я не отказался.

А теперь посмотрите и скажите - что из этого может реально пригодится? ИМХО:

  • Form Framework
  • Зависимости в плагинах
  • Различные вьюхи в зависимости от того, какоt значение принимает хедер Accept

Причем последние два пункта лично я пока не использовал бы нигде. Просто нет необходимости. К чему это я клоню - этот релиз чуть ли не официально был признан “промежуточным” - минимум новых интересных фич и очень сильная переработка кода, причем зачастую внутреннего, для облегчения дальнейшей поддержки и добавления новых фич в будущем. В частности - в версии 1.2 нововведений меньше, но они гораздо больше коснуться конечных пользователей фреймворка (коснуться - в хорошем смысле). Кстати говоря, версия 1.2 выйдет уже в октябре, через 3 месяца… Но это уже несколько друга история, о которой мы поговорим, скорее всего завтра.

written by fxposter \\ tags: ,


12 Responses to “Symfony 1.1”

  1. 1. muxx Says:

    Что важно в Symfony 1.1 — его классы можно использовать независимо от фреймворка, вот мне, например, сейчас для проекта, не нужно все, т.к. тяжеловато получается, я беру только необходимые библиотеки и работаю с ними.

  2. 2. FX Poster Says:

    А поконкретнее – что именно используешь отдельно?

  3. 3. muxx Says:

    Я не использую экшены и вьювы в некоторых частях, особенно для аяксовых запросов, которых в данном проекте куча.

  4. 4. FX Poster Says:

    Не использовать вьюхи – это я еще понимаю… А вот насчет action’ов – нет. Как ты тогда используешь routing?

  5. 5. muxx Says:

    Я думаю, ты читал этот пост, тут в принципе описана суть: http://www.symfony-project.org/blog/2008/06/23/the-symfony-1-1-architecture

  6. 6. Гвидон Маляров Says:

    вот че че, а forms framework с его виджетами вообще не понимаю! увязать это с какой-то логикой на js наверно нелегко (никогда не пользовалса генераторами форм и не собираюсь!)

  7. 7. npFly Says:

    @Гвидон Маляров
    А вот и зря… как раз таки дисплэй логику очень неплохо можно использовать с form framework, а точнее я вообще не вижу проблем которые могут возникнуть…

  8. 8. Андрей Says:

    Попытался создать форму по примеру, указанному в книге (скопировав код), однако передается только один параметр. Остальные передаются некорректно: “name/1/amp%3Bemail/3/amp%3Bmessage/4”. Не подскажет кто-нибудь из знающих людей новичку в чем проблема.
    Заранее спасибо.

  9. 9. FX Poster Says:

    Пример покажи хоть…

  10. 10. Андрей Says:

    http://www.symfony-project.org/book/forms/1_1/ вот тут, сразу в первом разделе.

  11. 11. FX Poster Says:

    Стукнись в асю вечерком :)

  12. 12. valera Says:

    Парсер yaml изменился очень сильно, теперь он стал очень чувствителен к пробелам.

Leave a Reply