Пользовательский класс маршрута

В В symfony 1.4 вы можете определить собственный класс маршрута, в котором вы переопределяете генерацию URL с помощью пользовательской логики, например:

custom:
  class: sfDoctrineRouteCollection
  options:
    model:                Custom
    prefix_path:          /custom/category/:category_id
    column:               id
    route_class:          CustomDoctrineRoute

class CustomDoctrineRoute extends sfDoctrineRoute
{
  public function generate($params, $context = array(), $absolute = false)
  {
    if (!isset($params['category_id'])) {
      $params['category_id'] = sfContext::getInstance()->getRequest()->getParameter('category_id');
    }

    return parent::generate($params, $context, $absolute);
  }

}

Это позволяет записать url_for ('custom_show', array ('id' => $ object [ 'id'])) и не беспокоиться о контекстно-зависимых параметрах (category_id).

Как вы подходите к этому - symfony2?

5
задан Dziamid 5 December 2011 в 11:33
поделиться