Как вы, возможно, заметили из моего предыдущего поста, я работаю над приложением SF2.0.x для нового SF2.7. Прямо сейчас у меня много NOTICE
и они не влияют на функциональность приложения, но это будет делать, и я хочу предотвратить это. я прочитал маршрутизация глава в SF Book, Компонент маршрутизации а также @ Route и @Method аннотации, но не могу найти ничего полезного, чтобы решить проблему. Поэтому мне нужна помощь от людей здесь. Прямо сейчас маршруты выглядят так, как показано ниже (в формате XML):
<route id="PDOneBundle_repproject_process" path="/project/{page}/{action}">
<default key="_controller">PDOneBundle:ProjectDetail:process</default>
<requirement key="page">\w+</requirement>
<requirement key="action">add|update|delete</requirement>
<requirement key="_format">html</requirement>
<requirement key="_method">POST|GET</requirement>
</route>
И сообщение ниже NOTICE
Я получаю:
УСТАРЕЛО — Требование «_method» устарело с версии 2.2
и будет удален в 3.0. Вместо этого используйте метод setMethods () или
опция «методы» в определении маршрута.
Как правильно определить маршруты сейчас?
Вы должны прочитать это:
https://github.com/symfony/symfony/blob/master/UPGRADE-3.0.md
И часть, которую вы искали:
Routing
Some route settings have been renamed:
The pattern setting for a route has been deprecated in favor of path
The _scheme and _method requirements have been moved to the schemes and methods settings
Before:
article_edit:
pattern: /article/{id}
requirements: { '_method': 'POST|PUT', '_scheme': 'https', 'id': '\d+' }
<route id="article_edit" pattern="/article/{id}">
<requirement key="_method">POST|PUT</requirement>
<requirement key="_scheme">https</requirement>
<requirement key="id">\d+</requirement>
</route>
$route = new Route();
$route->setPattern('/article/{id}');
$route->setRequirement('_method', 'POST|PUT');
$route->setRequirement('_scheme', 'https');
After:
article_edit:
path: /article/{id}
methods: [POST, PUT]
schemes: https
requirements: { 'id': '\d+' }
<route id="article_edit" path="/article/{id}" methods="POST PUT" schemes="https">
<requirement key="id">\d+</requirement>
</route>
$route = new Route();
$route->setPath('/article/{id}');
$route->setMethods(array('POST', 'PUT'));
$route->setSchemes('https');
Других решений пока нет …