7

私のZendFramework2アプリケーションには、デフォルトのZendFramework1ルートを模倣しようとしているルート定義があります。次のようになります。

        'router' => array(
            'routes' => array(
                'default' => array(
                    'type'    => 'segment',
                    'options' => array(
                        'route'    => '/[:controller[/:action]]',
                        'defaults' => array(
                            '__NAMESPACE__' => 'Application\Controller',
                            'controller'    => 'Index',
                            'action'        => 'index',
                        ),
                    ),
                    'may_terminate' => true,
                    'child_routes'  => array(
                        'wildcard' => array(
                            'type' => 'wildcard',
                        ),
                    ),
                ),
            ),
        ),

Urlルートとうまく一致しますが、ビューヘルパーを使用して任意のパラメーターでルートを組み立てることはできません。

例えば、

$this->url('default', array('controller' => 'test', 'action' => 'test', 'id' => 5));

結果は。の/test/test代わりになり/test/test/id/5ます。

このような部分的なルートを組み立てる方法を知っている人はいますか?または、ZF1スタイルのルートを取得するためのより良い方法はありますか?

4

1 に答える 1

10

Urlビュー ヘルパーでルート名全体 (子ルートを含む) を指定する必要があることがわかりました。

私の質問で定義されたルーターを使用すると、適切なビュー ヘルパー呼び出しは次のようになります。

$this->url('default/wildcard', array('controller' => 'test', 'action' => 'test', 'id' => 5));

のURLになり/test/test/id/5ます。

于 2012-08-13T14:11:42.013 に答える