Регистр в объявлении action`а в roting.yml

Symfony framework

Автор: Александр Степанов

5 февр. 2013 г., 10:15:32  680


Недавно столкнулись с проблемой в тесте. В тесте с помощью sfBrowser (sfTestFunctional) запрашивали страничку, используя роут:

url_for('@cart_clear');

роут был объявлен следующим образом routing.yml:

cart_clear:
  url: /cart/clear
  params: {module: cart, action: clearcart}

в модуле сам action объявлялся следующим образом:

public function executeClearCart(sfWebRequest $request)
{
...
}

Тут можно заметить, что регистр в названии action`a в routing.yml и в модуле не совпадает (в модуле: в camelCase стиле, а в роутинге он описан прописными буквами). При таком раскладе в тесте по запросу на этот роут, получаем 404 страницу с сообщением, что роут не найден. Однако если зайти на эту же страничку через броузер в dev-енвайронменте, то страничка открывается, т.е. роут отрабатывает. Вобщем вот такая странность. Чтобы тест заработал подправили объявление роута в routing.yml:

cart_clear:
  url: /cart/clear
  params: {module: cart, action: clearCart}

[pullquote]От админа, мне кажется, что это и так ясно, что регист в симфони, да и UNIX среде очень важен.[/pullquote] http://simsym.com/symfony-routing-action-writing/