0

私はグーグルで検索してきましたが、ZFルーターの使用をうまく説明しているものを見つけることができないようです. サイトのドキュメントを読みましたが、再ルーティングについてのみ説明しているようです。

フォーマットを作成しようとしています: /module/value/controller/action は、パラメータとして値を渡す /module/controller/action を指定します

たとえば、/store/johnsmithbigsale/home/newstuff は /store/home/newstuff にルーティングされ、johnsmithbigsale を値として、storeName などの非表示の名前空間を持つパラメータに渡します。

いくつかの助けは素晴らしいでしょう!

4

1 に答える 1

2

Zend_Controller_Router_Routeを使用して、URL 部分を、$this->_getParam('varName') によってコントローラーで使用できるモジュール、コントローラー、アクション、およびパラメーターにマップできます。これらのルートは、application.ini ファイルまたはアプリケーションのブートストラップで定義できます。

// custom city route
$route = new Zend_Controller_Router_Route(
    'cities/:city',
    array(
        'controller' => 'city',
        'action'     => 'view'
    )
);
$this->addRoute('city', $route);

// custom buy widgets route
$route = new Zend_Controller_Router_Route_Regex(
    'buy_(.+)_widgets/([0-9]+)(.*)',
    array(
        'controller' => 'widgets',
        'action'     => 'view'
    ),
    array(
        1 => 'nothing',
        2 => 'widget_id',
        3 => 'vars'
    )
);
$this->addRoute('widgets', $route);

正規表現ルートは私のアプリに固有のものですが、各一致がパラメーターにマップされることがわかります。

于 2010-04-18T02:39:08.137 に答える