symfony framework

индекс
85,28

Symfony Live 2010. День второй

image

Завершился второй, последний день конференции Symfony Live. На второй день было гораздо интереснее: увидел знакомых с первого дня парней, пообщался на отвлеченные от проблемы наличия непонятной раскладки на моем макбуке темы.



День первый.

В первом докладе парни из OkAPI рассказывали о своих улучшениях sfRouting, о dependency injection и возможных улучшениях служебных классов симфони. Довольно сложный доклад для непроснувшихся людей: )

image

Второй доклад был об оптимизации php-кода. Xavier de Cock показывал куски кода на C++, которые отвечают за сооветствующие функции. Крайне не рекоменловал использовать функции вида array_* и in_array как наиболее медленные. Очень интересно выглядит дампер опкода.

image

Scott Chacon, автор книги «Pro Git» потрясающе раскрыл тему GIT. Очень захотелось прочитать его книгу. В основном он рассказывал об идеологиях и принципе работы системы.

Далее парень из штатов расскзаал об интеграции Zend Framework в Симфони. Тема оказалась довольно популярной, поскольку например зендовскую библиотеку для гуглосервисов GData использовало подавляющее большинство присутствовавших.

image

В перерыве немного пофоткал университет:

image

image

Парень по имени Marcos Labad со страшным испанским акцентом рассказывал о построении CMS на базе симфони. Меня тема както мало затронула, я отвлекался на разговоры с каким-то чуваком из лондона.

Dennis Benkert рассказывал о модели событий в симфони. Вобщем, когда он спросил у присутствовавших «did you use symfony events in your projects?», большинство парней подняли руки. Чувак расстроился и сказал, что не стоило ему делать этот топик: ) Т.е. там поднималась тема обсервера и реализации его в симфони.

image

image

Очень интересный доклад был от девелопера Yahoo! Dustin Whittle'a, который рассказал как они затачивают симфони для своих проектов. В частности он отметил, что для маленьких проектов нужно отказываться от ORM, а для средних использовать Doctrine.

image

Ну и самое вкусное было приготовлено напоследок. Фабьен рассказывал о второй ветке symfony.

image

image

Если кратко — идеология та же, устройство — совершенно иное. Другая структура папок, другой принцип подключения модулей приложения: вместо плагинов теперь используются бандлы (bundles), исчезли понятия partial, slot. Остались лишь components и templates. Каждый бандл должен быть зарегистрирован, а не подключается автолоадером. Все это подчеркивает новый курс на lazy loading. Все хелперы также имеют отложенную загрузку и теперь являются классами. Ну и разумеется все написано с учетом новых возможностей php 5.3, поэтому разложено по пространствам имен.

Структура папок совершенно другая, мне сильно напомнила ROR.

Немного фоток:

image

Новая изящная дебаг-панель:
image

image

image

Ответ на вопрос о производительности:
image

image

Фабьен выдал линк на свой репоз в гитхабе.

Ориентировочная дата релиза второй ветки — конец 2010.

image

В заключение еще несколько слов о переходе на 2ю ветку. Фабьен просил использовать ее для маленьких проектов и присылать отзывы. Чем больше и подробнее, тем лучше. Версия стабильна, но в ней могут меняться многие вещи. 1.4 будет поддерживаться еще 3 года в отличие от предшествующих ей 1.0, 1.2, 1.3, поддержка которых прекращена. 1.4 — наиболее стабильная версия симфони, на которой рекомендуется начинать проекты в настоящий момент. Ну и контрибутим симфони 2.0, не отстаем от европейских коллег: )

В париже 15 минут 11го, я часы по ленивости не переводил, у нас в Москве 15 минут первого. Оооочень хочу спать. Доброй ночи, хабр: )

p.s.: привет для всего хабра от знакомого француза:

image

Слово «хабрахабр» он произносить научился: )

upd: официальный сайт второй ветки
+25
18 февраля 2010, 00:16
7

комментарии (40)

+3
trevel #
можно добавить линк на сайт о symfony2 — http://symfony-reloaded.org/
0
trevel #
0
4pcbr #
Буду благодарен если будете дополнять это все в комментах, у меня пока нет возможности своевременно редактировать, простите: )
0
trevel #
не беда :)
вот еще ссылка на все слайды с конференции.
+1
Elvis_the_King #
Все, замораживаем всю разработку до выхода 2.0 =) Жаль что про пропель 1.5 не было ничего.
0
letoosh #
Ура! А вот и ответ на мой вопрос о производительности!

Автору спасибо за топик, а я пойду поэкспериментирую с веткой 2.0 из SVN… (вдохновлен, не удержался =))
+1
everzet #
Перелазьте уже на Git. Основной реп на GitHub. В SVN только еже15минутный миррор с read-only доступом.
0
letoosh #
Давно есть такое желание, но перевести даже один проект (не говоря уже про все) с SVN на Git это не быстрое дело :(
Поэтому, пока занимаемся более приоритетными делами.

Было бы кстати интересно узнать об опыте перехода с SVN на Git. К сожалению, в нашем случае на SVN завязано очень многое — continuous integration, branching, тесты… Как совершим полный перевод всего — обязательно отпишу о результатах.
0
everzet #
У Git есть гибкие средства и встроенные утилиты для конвертирования SVN репозиториев. Так что я бы не назвал переход сложном. Вся сложность сводится к его изучению. Но я считаю, что оно того стоит.
Связка Git+GitHub позволит Sensio развивать Symfony 2 в разы быстрее и принимать участие комьюнити совершенно на другом уровне, нежели позволял SVN+Патчи
–2
develop7 #
Я думаю, что единственная причина выбора Git — из-за Github, early adopters пополам с гитодрочерами (последние бы однозначно подняли вонь, выбери Fabien Mercurial + BitBucket, например), и совершенно незаслуженного hype вокруг этого поделия. Единственный плюс git как VCS — быстрый multiple branch merge. Единственный плюс git для проекта — привлечение внимания.

Как-то так.
0
Davert #
Думаю и этого уже не мало :)
Много смежных проектов живут на гите и вроде все довольны: Rails, scriptcaulous,…

В любом случае нужно было переходить или на гит или на меркуриал. SVN не дает гибкости в разработке. А вместе с системой новых бандлов, будет вообще круто.
0
develop7 #
Кстати, для расширения кругозора (на гибкость разработки (к слову, «гибкость разработки» — слишком абстрактная и размытая характеристика, чтобы быть аргументом вообще), например) очень рекомендую почитать lib.custis.ru/DVCS_vs_SVN, и, в частности, последнюю статью — Programmer Insecurity. Взгляд «с обратной стороны баррикад», так сказать.
+2
lamo8 #
Дайте французу инвайт :)
0
4pcbr #
Француз кстати сильно разочаровался, что хабр не имеет интернациональной версии: ) Он кстати разработчик sfMediaBrowserPlugin
0
r3verser #
университет красивый, прям как хогвардс из сказки про поттера )
0
zerkms #
«В частности он отметил, что для маленьких проектов нужно отказываться от ORM, а для средних использовать Doctrine.»
почему, интересно? любой орм очень хорош для прототипирования, суть для небольших и необходимых asap проектов.
+1
everzet #
Предполагаю, понятие «небольшой проект» сильно разнится у нас и у специалистов из Yahoo =)))
0
everzet #
Извиняюсь за повторение — AJAX сглючил.
+1
4pcbr #
Хах: ) в этом вы правы: ) до миллиона уников в день — не в счет: )
0
everzet #
Предполагаю, определение «небольшого проекта» сильно разнится у нас и у специалистов из Yahoo =)))
+2
sas171 #
«парень из штатов» который расскзаал об интеграции Zend Framework это не много не мало мэнеджер проэкта Zend Framework Matthew Weier O'Phinney

Как-то решил внедрить Symfony Dependency Injection Component в компании и очень об этом пожалел. Довольно много багов, странная архитекутра с неуместным использованием наследования и непонятный статус разработки (stable?, beta?). Это был мой единственный и очень неприятный опыт с Symfony.
+3
everzet #
«Вы просто не умеете его готовить» ©
0
Davert #
«Структура папок совершенно другая, мне сильно напомнила ROR.»

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

Так что в ней похожего с Рельсами? Или имелись ввиду Рельсы 3?
0
trevel #
эх. все отлично в symfony2, только не хватает легкого шаблонизатора.
понимаю, что через бандлы теерь можно будет легко прикрутить тот же Twig. Но хотелось бы из каробки.
0
everzet #
Вся фишка в том, что новый Templating Component, входящий в состав Symfony 2 позволит не только интегрировать любой приятный вам шаблонизатор в проект, но и интегрировать сразу несколько из них в проект (php для девелопмента + twig/smarty-шаблоны, хранящиеся в базе для дизайнеров).
Плюс, надо учитывать, что абсолютно все в Symfony 2 — бандлы. Думаю, бандл для twig появится еще до релиза Symfony 2, поэтому не вижу разницы между готовым бандлом и «из каробки».
0
trevel #
ну я собственно это и написал.
да, с одной строны это был бы перекос в сторону одного из решений. Но с другой стороны, был бы шаблонизатор. внедрением и поддержкой которого занимаются создатели фрейворка. Был бы более быстрый старт для новичков. Плюс для сторонних бандлов уже было бы решение для их шаблонов, которые не обязательно делать нативным php или тащить любымый template-движ в зависимом бандле.
Такая же ситуация в django. Есть стандарт, на который равняются писатели сторонних приложений, но если хочется, всегда можно прикрутить другой шаблонизатор. Схема очень удобна.
0
ExH #
Посмотрите на этот бандл.
github.com/advanderveer/TwigBundle
Лично мне сильно импонирует возможность писать разные шаблоны. И разность этих шаблонов определяется расширением файла.
Т.е. если у вас установлен порядок обхода twig/html, то в папке с шаблонами будет сначала искаться файл index.twig, а затем index.html.
Подобный подход позволяет сделать с шаблонами всё что угодно, вплоть до использования собственного шаблонизатора.
0
shumakosik #
слон прикольный стоит на столе у них
0
4pcbr #
Я мелких прикупил друзьям: )
0
4pcbr #
Большой 70 евро кстати стоит.
0
MpaK999 #
Подскажите, если не сложно разумеется, русскоязычный сайт для вхождения в Симфони из CodeIgniter, YII, Rails?
0
develop7 #
Да нет таких в общем-то. Пока. На офсайте местами переведена на русский документация.
+1
witdex #
Да поюзал 2, он действительно очень быстрый из-за сборки в кеш, в целом новые пакеты однозначно хорошо придумали, намного удобнее плагинов
0
witdex #
Однозначно еще понравился шел…
0
everzet #
Да. Шел суперский. Давно засматривался на IRB у друга-рубиста. Даже написал пост об установке php-shell от Facebook. А во второй ветке Symfony он еще и с автокомплитом на таски и подсветкой.
0
Darx #
Огромное спасибо за отчет, ждем еще!
0
4pcbr #
Конференция к сожалению закончилась: ) Сижу в макдаке на клисейских полях и отвечаю на комменты: )
0
4pcbr #
* елисейских
0
r3d #
Презентации На SlideShare:

Building A Platform From Open Source At Yahoo
Using Doctrine Migrations
Using symfony events to create clean class interfaces

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.