Сегодня вышел 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 из существующего кода были выделены два компонента:
- Stopwatch;
- PropertyAccess.
Маршрутизация
До версии 2.2 была возможность генерировать два вида URL.
Абсолютный URL: example.org/blog/what-a-wonderful-world
{{ url('blog', { post: 'what-a-wonderful-world' }) }}
URL относительно домена (the default): /blog/what-a-wonderful-world
{{ path('blog', { post: 'what-a-wonderful-world' }) }}
Теперь можно генерировать еще два типа URL:
URL относительно схемы: //example.org/blog/what-a-wonderful-world
{{ url('blog', { post: 'what-a-wonderful-world' }, true) }}
URL относительно пути: ../
{{ path('blog', { post: 'what-a-wonderful-world' }, true) }}
Добавление интересных (на мой взгляд) примеров использования в процессе.
Автор: urvalla