Роутинг для ZF2 в стиле ZF1


ZF2 Route, ZF2 route like in ZF1, роутинг, ЗФ2, Zend Framework 2



Многие спрашивают, как можно вернуть роутинг в стиле ZF1 для ZF2.

Начнем с того, что при правильном подходе это просто не нужно, а если и нужно -  то редкость.



Теперь о том, как сделать роутинг в стиле ZF1:

Все настройки делаются в тех же фалах.

Но выглядеть они будут несколько иначе:

        'router' => array(
            'routes' => array(
                'default' => array(
                    'type'    => 'segment',
                    'options' => array(
                        'route'    => '/[:controller[/:action]]',
                        'defaults' => array(
                            '__NAMESPACE__' => 'ApplicationController',
                            'controller'    => 'Index',
                            'action'        => 'index',
                        ),
                    ),
                    'may_terminate' => true,
                    'child_routes'  => array(
                        'wildcard' => array(
                            'type' => 'wildcard',
                        ),
                    ),
                ),
            ),
        ),

 

Как Вы догадались вся особенность в wildcard.

Теперь в строке адреса можно формировать такие завпросы:

 

http://название_сайта/test/test/id/5.

 

Такой URL формируется таким образом:

$this->url('default/wildcard', array('controller' => 'test', 'action' => 'test', 'id' => 5));

Что бы получить значения «id» нужно:

$this->getEvent()->getRouteMatch()->getParam('id')

Вот и все.

Надеюсь статья Вам понравилась и помогла разобраться в интересующем вопросе.


Автор статьи: DuB