<rmcreative>

RSS

Symfony 2 alpha

18 февраля 2010

Запущен сайт Symfony 2 с некоторыми подробностями и альфа-версией фреймворка.

Чтобы поиграться с ней нужен PHP 5.3.2. Все его возможности используются по полной.

Фреймворк я успел лишь поверхностно рассмотреть, но кое-что запомнилось:

  • Пространства имён и другие приятности PHP 5.3.

  • Параметры в контроллер из роутера поступают сразу в методы. Почти как в CodeIgniter, только лучше — тут их можно именовать.

  • Наконкец, нормальная передача параметров View (как в Yii, CodeIgniter), а не странное наполнение свойств контроллера, как в symfony 1.

  • View стал логически проще. Убрали лишние сущности, но зато сделали оставшиеся очень мощными.

  • Более логичная файловая структура (напоминает Yii).

  • Подробный логгер (опять же похож на тот, что есть в Yii).

  • Мощная автозагрузка классов (и опять же, это было в Симпсонах!).

  • Кешируется и копмилируется всё, что только может за счёт этого он быстрый (3×ZF, 2×Yii) и кушает мало памяти.

И немного странностей:

  • Своеобразное указание пути к шаблону View и использование Layout. Плохо или хорошо это — сказать пока не могу.

  • Хелперы View предствалены как объекты внутри некой переменной $view. Выглядит магически.

  • В PHP конфигурация выглядит жутко, в yaml всё также легко ошибиться. А вот XML ничего так. С дополнением и валидацией.

Релиз намечается на самый конец 2010. Пока же можно познакомиться с презентацией, официальным сайтом и попробовать альфу.

Комментарии RSS

  1. №2318
    vsefayno
    vsefayno 19 февр. 2010 г., 1:26:34

    Вы почему-то про Bandle ни слова не сказали. А ведь это очень существенное нововведение, которое близко к философии reusable apps (django). В sf2 все через них, даже core.

  2. №2319
    Костег
    Костег 19 февр. 2010 г., 2:24:38

    Долгое время было затишье, и тут, за последнюю неделю столько новостей о sf2. Такое ощущение, что перед конференцией sfLive не хотели ничего рассказывать)

  3. №2323
    Sam
    Sam 19 февр. 2010 г., 9:59:15

    vsefayno

    Просто bundl-ы как таковые не являются для меня чем-то сильно новым. То, что ядро минимально — да, это хорошо.

  4. №2324
    Sergey
    Sergey 19 февр. 2010 г., 12:38:22

    в yaml всё также легко ошибиться

    вы программист или секретарь? где там можно ошибиться? хуже конфигуратора чем XML не видел...

    а CodeIgniter, с которым вы сравниваете Symfony, по сравнению с симфой просто детский конструктор.

    Наконкец, нормальная передача параметров View (как в Yii, CodeIgniter), а не странное наполнение свойств контроллера, как в symfony 1.

    а что странного то ?

  5. №2325
    Sam
    Sam 19 февр. 2010 г., 13:49:44

    Sergey

    Ошибаются все. У yaml нет никакой валидации и пара лишних пробелов может доставить очень много проблем.

    Хотя, это только моё мнение… одно из возможных. Поэтому, наверное, есть возможность использовать и yaml и XML.

    Я не сравниваю Symfony с CodeIgniter, я сравниваю исключительно передачу параметров методам в этих двух фреймворках.

    Странного и неудобного в протасиквании переменных для View через контроллер много. Начиная от того, что в View попадает много лишнего и заканчивая тем, что, опять же, сильно повышается вероятность досадных ошибок из за конфликта имён.

  6. №2326
    sesharim
    sesharim 19 февр. 2010 г., 15:27:08

    Sam прав насчет yaml-файлов, та же проблема и в Rails.

  7. №2372
    Spider
    Spider 04 марта 2010 г., 14:03:37

    > PHP 5.3.2

    Ого! Точно 5.3.2? Что-то я про такой вообще не сылшал еще

  8. №3336
    1С
    02 нояб. 2010 г., 1:31:14

    Попробую развернуть небольшой проектик

  9. №4554
    mitallast
    mitallast 07 мая 2011 г., 12:54:57

    Не совсем понятно. Symfony быстрее yii в два раза? Пруфлинк битый, к сожалению.

  10. №4557
    Sam
    Sam 07 мая 2011 г., 16:43:12

    mitallast, на промо-странице было так написано, но на самом деле там было не сильно честное сравнение.

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.