0

これがルートです...

'panel-list' => array (
    'type' => 'Segment',
    'options' => array (
        'route'    => '/panel-list/:pageId[/:action]',
        'constraints' => array (
            'pageId' => '[a-z0-9_-]+'
        ),
        'defaults' => array (
            'action' => 'index',
            'controller' => 'PanelList',
            'site' => null
        ),
    ),
),

ここに何を入れればいいのやら……。

public function indexAction()
{
    echo ???????
}

pageId をエコーするには?

4

3 に答える 3

3

zf2 の beta5 では、より簡単に使用できるように変更されたため、異なる型ごとに異なる構文を覚える必要はありません。私は引用します:

新しい「Params」コントローラ プラグイン。クエリ、投稿、Cookie、ヘッダー、およびルート パラメーターを取得できます。使い方は $this->params()->fromQuery($name, $default) です。

したがって、ルートからパラメーターを取得するために必要なことは、これだけです。

$param = $this->params()->fromRoute('pageId');

これは、引用にあるように、クエリ ($_GET) やポスト ($_POST) などでも実行できます。

$param = $this->params()->fromQuery('pageId');
// will match someurl?pageId=33

$param = $this->params()->fromPost('pageId');
// will match something with the name pageId from a form.

// You can also set a default value, if it's empty.
$param = $this->params()->fromRoute('key', 'defaultvalue');

例:

$param = $this->params()->fromQuery('pageId', 55);

URL が someurl?pageId=33 の場合、$param は値 33 を保持します。URL に ?pageId がない場合、$param は値 55 を保持します。

于 2012-07-24T14:34:04.237 に答える
2

やってみました

$this->getRequest()->getParam('pageId')
于 2012-07-24T08:40:13.180 に答える
2

$this->getEvent()->getRouteMatch()->getParam('pageId');

于 2012-07-24T08:59:14.680 に答える