モジュール固有のルートを作成する必要がありますが、モジュール名を明示的にルートに記述する必要はありません。今私は各モジュール(MODULE/configs/module.ini)のために別々の設定ファイルを持っており、モジュールのブートストラップでそれらのルートをZend Frameworkにプッシュします。 INIファイルにはルート情報が格納されていますが、ルートにはモジュール名が記載されています。例えばルートにモジュール名を指定しないでZend Frameworkのモジュール固有のルート
routes.contents.route = "内容/(.*)"
routes.contents.defaults.module =内容
routes.contents.defaults.controller =インデックス
routes.contents.defaults.action =インデックス
+その他の経路に関する詳細。
モジュール名(「コンテンツ」)が明示的にルートに記載されていることがわかります。私が望むのは、ルートでモジュール名の後ろの部分だけを言い、ルートの前にモジュール名の前に自動的に追加するということです。だから後でモジュールの名前を変更してCMSと言うと、私はすべてのルートを "CMS/xxxx"に変更しません。
私はそれを使用していますが、ほとんどのモジュールでは、ルートはモジュール名で始まります。 somethingawesome =モジュール名。だから私はちょうど "somethingawesome"の後のスラッシュの後にルートに入り、アプリケーションがモジュール名の前に自動的に追加する方法を探していた。私のモジュール名はrealestateであり、realestate /(.*)をmodule => realestate、controller => index、action => indexに渡し、getParamを使って(。*)値を取得したいとします。私は/(.*)をルート設定に追加したいだけなので、後でモジュールを "commercial"に改名すると、私はすべてのルートを変更するつもりはありません。 – Bryan
"/ realestate"を "somethingelse"というモジュールに移動させたい場合は、それを '.module'設定行で変更するだけです。 "/ realestate"に設定されたルート正規表現はまったく変更する必要はありません。 "/ realestate"を "/"にして "somethingelse"にする場合は、両方の行を変更してください。 "/ realestate"を単に "/"として設定しても機能しないようにするには、デフォルトルートを無効にする必要があると思います。 –
私はそれについて考えると、 "/(.*)"のルートはすべてを傍受し、他のすべてのモジュール/ルートは動作しません。ただ頭を上げる。 –