Symfony 2 претерпел серьезные изменения в сравнении с 1.x веткой. Фреймворк стал более гибким и быстрым. Теперь, по заявлениям разработчиков — это один из самых быстрых фреймворков написанных на PHP, на цифры можно посмотреть тут. Однако не стоит воспринимать эти заявления близко к сердцу, что действительно важно — он стал быстрее и гибче.
Symfony 2.0 краткий обзор, часть 2
4 min
3.3KИтак, продолжаю осмотр фреймворка Symfony 2.0. В первой части я описал содержимое приложения symfony-sandbox созданного на базе Symfony 2.0. В этой части я загляну в содержимое самого фреймворка.
Symfony 2.0, RequestHandler Component
5 min
1.9KНа сайте Symfony Components про компонент RequestHandler сказано примерно следующее:
Так ли это и что из себя представляет RequestHandler в Symfony 2 я попробую рассмотреть в этом топике.
Гибкое микро-ядро для быстрых фреймворков.
Так ли это и что из себя представляет RequestHandler в Symfony 2 я попробую рассмотреть в этом топике.
Symfony 2 и Doctrine 2
10 min
37KПродолжая изучать Symfony 2 я решил описать использование фреймворка в связке с Doctrine 2, так как это один из самых часто задаваемых вопросов. И стоит заметить Doctrine 2 так же претерпел серьезные изменения в сравнении с веткой 1.x. Сам по себе проект Doctrine настолько большой, что описание его потянет пожалуй на небольшую, но интересную книгу. Поэтому я лишь очень бегло опишу пример использования Doctrine 2 в Symfony 2, позволяющий разобраться как запустить эту связку и сделаю это на примере очень меленького и простого приложения.
Второй Symfony Camp UA – Завершился!
1 min
1.1KЗавершился очередной виток в развитии и популяризации фреймворка Symfony на территории стран СНГ.

Мы рады, что на конференцию приехали разработчики из России, Белорусии, Молдовы и Украины.

Мы рады, что на конференцию приехали разработчики из России, Белорусии, Молдовы и Украины.
Открылся новый официальный сайт symfony
1 min
971symfony.com
Хотя он еще не до конца доделан, но систематизация информации на нем, как и дизайн, намного лучше, чем на предыдущем сайте. Так же обратите внимание на выпадающий список SensioLabs Network в верхнем левом углу, где в одном месте собраны ссылки на их основные сайты, теперь на сайт доктрины или свифта можно перейти намного проще.
P.S. Наконец дождались, официальный релиз симфонии 2 обещают завтра http://symfony.com/download
Хотя он еще не до конца доделан, но систематизация информации на нем, как и дизайн, намного лучше, чем на предыдущем сайте. Так же обратите внимание на выпадающий список SensioLabs Network в верхнем левом углу, где в одном месте собраны ссылки на их основные сайты, теперь на сайт доктрины или свифта можно перейти намного проще.
P.S. Наконец дождались, официальный релиз симфонии 2 обещают завтра http://symfony.com/download
Symfony на русском
1 min
9.6KСовсем скоро выйдет релиз Symfony 2. И хотелось бы читать документацию,
да и обсуждать вопросы, связанные с фреймворком, на родном языке.
Именно с этой целью был создан новый русскоязычный сайт о Symfony 2.
Но так как объем документации достаточно велик, в одиночку переводить становится трудно.
Это призыв к помощи, к коллективному переводу и обсуждению документации.
Для этого вы можете воспользоваться формой на сайте или же редактировать страницы
напрямую, через GitHub.
И да — это реклама, немного преждевременная, т.к. пока сделано совсем мало.
Проект не несет какой-либо прибыли, единственная цель —
сплотить русскоговорящих разработчиков, использующих Symfony 2.
Надеюсь, вам понравится!
PS на топик-ссылку не хватает кармы.
да и обсуждать вопросы, связанные с фреймворком, на родном языке.
Именно с этой целью был создан новый русскоязычный сайт о Symfony 2.
Но так как объем документации достаточно велик, в одиночку переводить становится трудно.
Это призыв к помощи, к коллективному переводу и обсуждению документации.
Для этого вы можете воспользоваться формой на сайте или же редактировать страницы
напрямую, через GitHub.
И да — это реклама, немного преждевременная, т.к. пока сделано совсем мало.
Проект не несет какой-либо прибыли, единственная цель —
сплотить русскоговорящих разработчиков, использующих Symfony 2.
Надеюсь, вам понравится!
PS на топик-ссылку не хватает кармы.
Создание CRUD приложения на Symfony 2
10 min
42KОбъединенные формы и значения по умолчанию
2 min
2KЗдравствуйте.
Сейчас я бы хотел облегчить жизнь всем тем людям, которые пишут свои проекты на основе фреймворка Symfony 2.
В Symfony 2, есть отличные инструменты по созданию форм из сущностей, а так же, что более интересно — объединенные формы.
Так вот, если вам понадобится установить в такую (объединенную) форму значения по умолчанию из сущностей (объектов), то вы (как и я) будете блуждать по просторам интернета, в поисках решения этой задачи, т.к. в документации этого, вроде бы, нет (во всяком случае, я не нашёл).
Сейчас я бы хотел облегчить жизнь всем тем людям, которые пишут свои проекты на основе фреймворка Symfony 2.
В Symfony 2, есть отличные инструменты по созданию форм из сущностей, а так же, что более интересно — объединенные формы.
Так вот, если вам понадобится установить в такую (объединенную) форму значения по умолчанию из сущностей (объектов), то вы (как и я) будете блуждать по просторам интернета, в поисках решения этой задачи, т.к. в документации этого, вроде бы, нет (во всяком случае, я не нашёл).
Административный интерфейс с SonataAdminBundle
10 min
49KВ базовой поставке Symfony 2 предусмотрен только минимальный функционал создания CRUD интерфейса. Для реализации административного интерфейса разработан ряд бандлов, в частности SonataAdminBundle.
Symfony 2: Полезные библиотеки и бандлы
9 min
54KУже около полугода для разработки веб-проектов используем Symfony 2. Накопился список полезных библиотек и бандлов, не входящих в состав symfony-standard, но значительно экономящих время и избавляющих от изобретения велосипеда.

Обзор больше теоретический и включает следующие разделы:
Примеры использования и код можно изучить на страницах каждого проекта на github.com или на официальных сайтах, но если будет интересно, некоторые решения можно рассмотреть отдельно.

Обзор больше теоретический и включает следующие разделы:
- Админгенераторы
- Пользователи
- Импорт/экспорт xls
- API и OAuth 2.0
- Меню/навигация
- Мультимедиа
- Формы
- Поиск
- Пагинация
- Файловая система
- HTTP клиент
Примеры использования и код можно изучить на страницах каждого проекта на github.com или на официальных сайтах, но если будет интересно, некоторые решения можно рассмотреть отдельно.
Редактирование древовидных структур с SonataAdminBundle в Symfony2
9 min
14KРедактирование древовидных структур — довольно частая задача в веб-разработке. Это очень удобно пользователю, поскольку дает ему возможность создавать любые иерархии у себя на сайте. Естественно, что после перехода на Symfony2, одной из первых задач стало создание такого иерархического списка страниц и написание админки к нему. А так как в качестве админки я использую SonataAdminBundle, то задача сводилась к настройке его для редактирования деревьев.
Страница, не связанная с сущностью, в SonataAdminBundle
3 min
10KОсновная задача SonataAdminBundle – создание конфигурируемого интерфейса для редактирования сущностей ORM/ODM-модели. Однако, в какой-то момент может понадобиться создать произвольную страницу в административном интерфейсе, не связанную с какой-либо сущностью, чтобы дизайн новой страницы полностью вписывался в дизайн страниц SonataAdminBundle и, соответственно, разместить ссылку на неё на главной странице.
Для опытного Symfony 2 разработчика задача не представляет особой сложности, новичкам же – может доставить немало хлопот (как это было в моём случае).
Для опытного Symfony 2 разработчика задача не представляет особой сложности, новичкам же – может доставить немало хлопот (как это было в моём случае).
Вышел Symfony 2.2
4 min
8.1KСегодня вышел Symfony 2.2.
Список нововведений из официального блога:
Также в Symfony 2.2 из существующего кода были выделены два компонента:
Далее — более подробно о некоторых изменениях.
Список нововведений из официального блога:
- Console: Автозавершение в командной строке;
- Console: Прогресс-бар для длинных заданий;
- Console: Скрытие паролей в режиме командной строки;
- Console: Предложение пользователю выбрать из списка возможных вариантов;
- Finder: Фильтрация по пути;
- Finder: Поддержка синтаксиса glob в методе in();
- Finder: Увеличение скорости на некоторых платформах;
- HttpKernel: Новый под-фреймворк для управления фрагментами ресурсов;
- HttpKernel: Улучшен вид вывода фатальных ошибок;
- HttpKernel: Логирование устаревших вызовов;
- Process: Получение промежуточных результатов выполняющихся процессов;
- Process: Перезапуск процесса;
- Process: Получение статуса исполняющегося процесса;
- Routing: Поддержка URL-хостов при маршрутизации;
- Routing: Относительные URL для схемы и пути;
- Security: Интересные утилиты безопасности;
- Validators: Валидаторы относящиеся к платежным системам;
- FrameworkBundle: Улучшение производительности для функциональных тестов;
- FrameworkBundle: Кэширование статических страниц.
Также в Symfony 2.2 из существующего кода были выделены два компонента:
- PropertyAccess;
- Stopwatch.
Далее — более подробно о некоторых изменениях.
Дайджест интересных новостей и материалов из мира PHP за последние две недели №18 (22.05.2013 — 03.06.2013)
6 min
15K
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Приятного чтения!
Symfony 2.3.0! Первый релиз с долгосрочной поддержкой!
4 min
13K
Translation

Symfony 2.3.0
Мы все долго этого ждали, многие из нас работали последние 4 года что бы это произошло. Сегодня, Symfony 2.3.0 доступна и это первый релиз с долгосрочной поддержкой(LTS) для Symfony 2.
Я очень счастлив, что мы достигли этой точки в жизни Фреймворка. Спасибо вам, что сделали это возможным!
Дайджест интересных новостей и материалов из мира PHP за последние две недели №19 (03.06.2013 — 17.06.2013)
6 min
18K
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Приятного чтения!
Расширяем Symfony 2 Forms
4 min
20KПрелюдия
Формы, возможно, один из самых сложных компонентов Symfony2. Но за всей его сложностью скрывается поразительно гибкая архитектура, предоставляющая широкие возможности для расширения. Мы, как разработчики, можем добавлять (и изменять) типы полей форм (Form Type), использовать слушатели (Event Listeners), преобразователи данных (Data Transformers) и расширения типов (Type Extensions). О последних сегодня и поговорим.
Дайджест интересных новостей и материалов из мира PHP за последние две недели №20 (18.06.2013 — 30.06.2013)
6 min
21K
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Приятного чтения!
Symfony CMF. Часть 1, хранение данных
18 min
33K
Вместо предисловия
Я программирую на Yii уже два года и в последнее время начал засматриваться на Symfony Framework 2. Отчасти меня привлекает продуманная архитектура, отчасти слабая связность компонентов, отчасти гибкость построенных приложений. Сразу после того, как я разобрался с основным устройством нового фреймворка, мне стало интересно, возможно ли на нем построить CMS, а может быть, даже воспользоваться готовой.
Коробочного решения пока не придумали, однако, каким-то образом я забрел на сайт проекта Symfony CMF и оказался сражен наповал методичным подходом к решению тех проблем, с которыми я сталкивался в бытность работы на конвеере по натягиванию дизайна на какой-нибудь Друпал. На Хабре публикаций про именно CMF нет, да и сам проект еще очень сырой, однако в перспективе выглядит все интересно, хоть местами и есть к чему придраться.
Symfony CMF
Проект Symfony CMF призван упростить разработку функционала, присущего CMS, для всех, кто использует в работе Symfony Framework 2.
Основные особенности проекта:
- слабая связность компонентов
- масштабируемость
- удобство
- тестируемость
Стоит сделать акцент на слове CMF — проект не является CMS сам по себе, это именно фреймворк. В отличие от CMS, где все компоненты жестко завязаны друг на друге, в Symfony CMF вы:
- используете все, что хочется
- заменяете то, что не нравится
- игнорируете то, что не требуется
То есть, вам дан набор модульных инструментов для разработки, а не готовое приложение «под ключ», хотя уже разработаны базовые бандлы, обеспечивающие CMS-функционал.