2

Zendフレームワーク2を使い始めたばかりで、これは簡単な作業のように見えますが、何らかの理由で機能しません。

クエリパラメータを取得しようとしています。controller/action?name=something

私は使用してみました:

$this->params()->fromQuery()
$this->plugin('params')->fromQuery();

どちらも同じだと思いますが、パラメータを設定すると、どちらも空の配列を返します。

私のルートは次のようになります:

        'users' => array(
            'type' => 'Zend\Mvc\Router\Http\Literal',
            'options' => array(
                'route'    => '/users/search',
                'defaults' => array(
                    'controller' => 'Module\Controller\Users',
                    'action'     => 'search',
                ),
                'may_terminate' => true,
                'child_routes' => array(
                    'query' => array(
                        'type' => 'Query',
                    ),
                ),
            ),   
        ),

私が間違っていることについて何か考えはありますか?

4

3 に答える 3

2

このページにリストされている Params プラグインを使用したいと思います。

あなたは試すことができます(私はプラグインのコードからこれを引っ張っています. $param はnull実際には である必要があります):

$this->getController()->getRequest()->getQuery($param, $default)->toArray();

fromQuery()上記の単なるラッパーです(こちらの88行目を参照してください)。ただし、それがうまくいかなかった場合、これはうまくいかない可能性があります(問題がプラグインがロードされていないか、正しくインスタンス化されていない場合を除きます):

$this->params()->fromQuery();
于 2013-03-01T05:04:24.233 に答える
0
$this->_request->getParam('name');

私はこれがうまくいくと思う..

于 2013-03-01T04:46:07.597 に答える