26

私は 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',
                    ),
                ),
            ),
        ),
    ),
),

ご覧のとおり、変数スラッグを作成しようとしました。この変数にアクセスするにはどうすればよいですか?

4

4 に答える 4

56

または単に:

$slug= $this->params('slug');
于 2012-08-15T15:48:44.510 に答える
27

なぜこれではないのですか:

$this->params()->fromRoute('slug');
于 2013-05-14T19:13:01.110 に答える
26

ここから:

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

ここにもっと多くのドキュメントがありますが、それはちょっと不完全に見えます。

于 2012-04-05T08:35:49.633 に答える
19

これも簡単に使用できます

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

うまくいくといいのですが...

于 2012-10-28T22:47:59.803 に答える