С каждой новой версией разработчики Symfony делают все, чтобы упростить работу API и сделать её более интуитивной и мощной. Вот некоторые примеры того, чем можно будет воспользоваться в symfony 1.2.
1. Названия Приложениний в CLI задачах / Application name in CLI tasks
Некоторые Propel задачи требует указания имя application в аргументах, потому что требуется подключение к БД. На самом деле в некоторых случаях этот параметр не требуется, когда задачи работают с БД не для конкретного application, а всего проекта.
Команда propel:build-all-load теперь выполняется как и другие задачи вида propel:build-*:
# symfony 1.2 ./symfony propel:build-all-load # symfony 1.1 ./symfony propel:build-all-load application_name
Выполнять загрузку данных (fixtures) или дамп БД в YAML можно следующими задачами:
./symfony propel:data-load ./symfony propel:data-dump
Если же требуется специфическая конфигурация задачи, то можно использовать нужное application:
./symfony propel:buil-all-load --application=frontend
2. Поддержка запросов PUT и DELETE посредством браузера
Теперь можно имитировать запросы вида PUT и DELETE через метод POST добавив в форму специальный скрытый параметр sf_method:
<form action="#" method="POST"> <input type="hidden" name="sf_method" value="PUT" /> <!-- // ... --> </form>
Если работая с формой вызвать метод sfRequest::getMethod(), то получим в ответ PUT. Новые возможности позволяют работать с REST приложениями в более родной форме.
3. Ссылки в ответах / Shortcuts in the response
Порою требуется получить список Stylesheets или JavaScripts от текущего ответа (response). Но т.к. методы getStylesheets() и getJavascripts() возвращают внутреннее отображение информации, то это не то, чего мы ожидали. В symfony 1.2 эти два метода возвращают информацию в удобном формате:
array( 'bar.css' => array(), 'foo.css' => array(), )
4. Валидатор sfValidatorSchemaCompare
Изменилась константа валидатора sfValidatorSchemaCompare. Следующее два примера сейчас эквивалентны:
// symfony 1.1 and 1.2 $v = new sfValidatorSchemaCompare('left', sfValidatorSchemaCompare::EQUAL, 'right'); // symfony 1.2 only $v = new sfValidatorSchemaCompare('left', '==', 'right');
Новый формат стал более читабельным и интуитивным.
Оригинал статьи: New in symfony 1.2: Small things matter