別の URL にリダイレクトせずに、コントローラへのリクエストを特定のアクションに転送したいと考えています。
たとえば、次の URL:
/home/peter
は内部的に
/home/people/peterになる必要があります。
「init」関数でアクション名 (「peter」) をキャッチして、Controller::redirect を実行できることはわかっていますが、同じ URL にとどまりたいので、要求を内部的に「人」に転送するだけです。 ' アクション。
2 つの注意事項:
- 「ピーター」は動的文字列なので、ルートをハードコードすることはできません
- コントローラーの他のアクションは引き続き機能するため、いくつかの文字列のみを転送する必要があります (たとえば、'peter'、'ann' は 'people' アクションに転送されますが、'otherAction' は引き続き呼び出し可能です)。
Controller クラスで「handleAction」メソッドと「handleRequest」メソッドを既に見つけましたが、自分のタスクでそれらをどのように利用するか想像できません。
シルバーストライプのバージョン: 3.0.3