2009-11-17 5 views
1

У меня возникают некоторые трудности, пытаясь понять всю концепцию маршрутизации zend. Мой сценарий - иметь резервный контроллер для моего небольшого приложения cms. Для этого я уже реализовал свой собственный класс маршрутов. То, что он делает, подобно модульному маршруту, пытается проверить, существует ли модуль из данного пути, если не будет вызван мой контроллер cms.
Вот пример кода:Резервный маршрут с Zend Framework


// ... 
    public function match($path, $partial = false) 
    { 
     if (false === $this->_doesModuleExists($path)) { 
      return parent::match($path, $partial); 
     } 
     return array(
      'module' => 'static', 
      'controller' => 'serve', 
      'action' => 'view', 
      'static_path' => $path 
     ); 
    } 
// ... 

То, что я бродя есть, если есть более элегантный способ сделать это. Мой класс действительно необходим для выполнения этой задачи, потому что я думаю, что это также возможно сделать со стандартным маршрутом zend, но я просто не могу понять, как это сделать. Любая помощь оценивается

+0

Не могли бы вы, возможно, опубликовать два примера маршрутов? Один для каждого условия, чтобы мы могли видеть, какие параметры маршрутизации могут работать? –

ответ

1

Поскольку я не просто хочу повторно опубликовать то, что нашел с помощью Google, я предлагаю вам прочитать manual section on routing, особенно в конце 12.5.4.

EDIT: Наказать меня, но this может быть даже немного лучше и понятнее ...

+0

@Franz: прикасается к маршруту по умолчанию, это не так опасно? – RageZ

+0

Я не понимаю, почему это было бы опасно? Точка имеет значения по умолчанию для модуля и т. Д. ... – Franz