ZF2: Получить параметры URL в контроллере


Я испытал Zend Framework 1 и создал несколько приложений с помощью этого фреймворка.

Сейчас я экспериментирую с Zend Framework 2, но я застрял на параметрах URL. Я настроил свою маршрутизацию следующим образом:

// Setup for router and routes
'Zend\Mvc\Router\RouteStack' => array(
    'parameters' => array(
        'routes' => array(
            'default' => array(
                'type'    => 'Zend\Mvc\Router\Http\Segment',
                'options' => array(
                    'route'    => '/[:slug]',
                    'constraints' => array(
                    'slug' => '[a-zA-Z][a-zA-Z0-9_\/-]*'
                    ),
                'defaults' => array(
                    'controller' => 'Htmlsite\Controller\BootController',
                    'action'     => 'index',
                    'slug' => 'home'
                    ),
                ),
            ),
        'home' => array(
            'type' => 'Zend\Mvc\Router\Http\Literal',
            'options' => array(
                'route'    => '/',
                'defaults' => array(
                    'controller' => 'Htmlsite\Controller\BootController',
                    'action'     => 'index',
                    ),
                ),
            ),
        ),
    ),
),

Как вы можете видеть, я попытался сделать переменный слиток. Как я могу получить доступ к этой переменной?

Author: Stoyan Dimov, 2012-04-05

4 answers

Из здесь:

$slug = $this->getEvent()->getRouteMatch()->getParam('slug');

Больше документации здесь , но она выглядит несколько неполной.

 26
Author: bububaba, 2012-04-05 08:35:49

Или просто:

$slug= $this->params('slug');
 55
Author: Al-Punk, 2012-08-15 15:48:44

Почему бы не этот:

$this->params()->fromRoute('slug');
 25
Author: Tomasz Kuter, 2013-05-14 19:13:01

Вы также можете просто использовать это

$this->params()->fromQuery('slug',null);
$this->params()->fromPost('slug',null);

Я надеюсь, что это сработает...

 19
Author: Kdecom, 2012-10-28 22:47:59