モジュールベースの zend アプリケーションがあります。定義されたバージョン番号 (param) に基づいて、モジュールを適切にルーティングしようとしています。domain.com/api/v1.
私のアプリは次のようになります
-application
...
--modules
----default
----api
----api2
...
ブートストラップ ルーティングにルーターがありますが、既定のモジュール 'api' にルーティングされます。
$frontController = Zend_Controller_Front::getInstance();
$router = $frontController->getRouter();
$route = new Zend_Controller_Router_Route(
'api/:apiversion/:controller/:action/*',
array('module' => 'api',
'apiversion' => ':apiversion',
'controller' => ':controller',
'action' => ':action')
);
$router->addRoute('api', $route);
apiversion パラメーター「v1」、「v2」に基づいてルーティングするにはどうすればよいですか?
domain.com/api/v2/users/id/5 => /api2/users/id/5
-はい、ユーザー入力 domain.com/api2/ を使用できることは理解しています ... -私が望むものではありません。
- はい、ユーザーが domain.com/api/version/2 を入力できることを理解しています ... -私が望むものではありません。
私が望むものが達成できない場合にのみ、私はそれらを行います。ありがとうございました :)
->getParam("v1") を実行して存在するかどうかを確認し、適切なモジュールを設定できると思いますが、かなり動的な方法がない限り