Собственно, о том, что вышла 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 месяца… Но это уже несколько друга история, о которой мы поговорим, скорее всего завтра.





July 20th, 2008 at 13:42
Что важно в Symfony 1.1 — его классы можно использовать независимо от фреймворка, вот мне, например, сейчас для проекта, не нужно все, т.к. тяжеловато получается, я беру только необходимые библиотеки и работаю с ними.
July 20th, 2008 at 13:44
А поконкретнее - что именно используешь отдельно?
July 20th, 2008 at 14:33
Я не использую экшены и вьювы в некоторых частях, особенно для аяксовых запросов, которых в данном проекте куча.
July 20th, 2008 at 14:36
Не использовать вьюхи - это я еще понимаю… А вот насчет action’ов - нет. Как ты тогда используешь routing?
July 20th, 2008 at 16:00
Я думаю, ты читал этот пост, тут в принципе описана суть: http://www.symfony-project.org/blog/2008/06/23/the-symfony-1-1-architecture
July 21st, 2008 at 14:09
вот че че, а forms framework с его виджетами вообще не понимаю! увязать это с какой-то логикой на js наверно нелегко (никогда не пользовалса генераторами форм и не собираюсь!)
July 21st, 2008 at 16:39
@Гвидон Маляров
А вот и зря… как раз таки дисплэй логику очень неплохо можно использовать с form framework, а точнее я вообще не вижу проблем которые могут возникнуть…
July 22nd, 2008 at 02:20
Попытался создать форму по примеру, указанному в книге (скопировав код), однако передается только один параметр. Остальные передаются некорректно: “name/1/amp%3Bemail/3/amp%3Bmessage/4″. Не подскажет кто-нибудь из знающих людей новичку в чем проблема.
Заранее спасибо.
July 22nd, 2008 at 02:31
Пример покажи хоть…
July 22nd, 2008 at 11:27
http://www.symfony-project.org/book/forms/1_1/ вот тут, сразу в первом разделе.
July 22nd, 2008 at 11:29
Стукнись в асю вечерком :)
October 3rd, 2008 at 14:16
Парсер yaml изменился очень сильно, теперь он стал очень чувствителен к пробелам.