2012-04-05 5 views
25

私はZend Framework 1を経験しており、そのフレームワークでいくつかのアプリケーションを構築しました。ZF2:コントローラのURLパラメータを取得

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

。 この変数にはどのようにアクセスできますか? hereから

+3

アーカイブの目的のために:ここで非常に完全な答えhttp:// stackoverflo w.com/questions/12077126/how-to-access-route-post-get-etc-parameters-in-zend-framework-2 – leticia

答えて

26

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

よりドキュメントhereが、それは一種の不完全に見えます。

+0

ありがとう!ちょうど私が必要としたもの:-) – koko

55

それとも単に:

$slug= $this->params('slug'); 
25

なぜこの1あなたは、単に...私はそれが動作を期待

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

これを使用することができます。

$this->params()->fromRoute('slug'); 
+7

これは現在好ましい方法です。 – Diemuzi

関連する問題