Cakephp-routing
CakePHP-ルーティング
ルーティングは、URLを特定のコントローラーのアクションにマップします。 このセクションでは、ルートを実装する方法、URLからコントローラーのアクションに引数を渡す方法、URLを生成する方法、特定のURLにリダイレクトする方法について説明します。 通常、ルートは config/routes.php ファイルに実装されています。 ルーティングは2つの方法で実装できます-
- 静的メソッド
- スコープ付きルートビルダー
以下に両方のタイプを示す例を示します。
両方のメソッドは、 ArticlesController のインデックスメソッドを実行します。 2つの方法のうち、*スコープ付きルートビルダー*はパフォーマンスを向上させます。
ルートを接続する
- Router :: connect()*メソッドはルートを接続するために使用されます。 以下は、メソッドの構文です-
- Router :: connect()*メソッドには3つの引数があります-
- 最初の引数は、照合するURLテンプレート用です。
- 2番目の引数には、ルート要素のデフォルト値が含まれています。
- 3番目の引数には、通常正規表現ルールを含むルートのオプションが含まれます。
ルートの基本的な形式は次のとおりです-
例
以下に示すように、config/routes.phpファイルを変更します。
次のURLにアクセスして、上記の例を実行します。
上記のURLは次の出力を生成します。
渡された引数
渡される引数は、URLで渡される引数です。 これらの引数はコントローラーのアクションに渡すことができます。 これらの渡された引数は、3つの方法でコントローラーに渡されます。
アクションメソッドの引数として
次の例は、コントローラーのアクションに引数を渡す方法を示しています。
次のURLにアクセスしてください- http://localhost:85/CakePHP/tests/value1/value2
これは、次のルートラインと一致します。
ここでは、URLのvalue1がarg1に割り当てられ、value2がarg2に割り当てられます。
数値インデックス配列として
引数がコントローラーのアクションに渡されると、次のステートメントで引数を取得できます。
コントローラのアクションに渡される引数は、 $ args 変数に保存されます。
ルーティング配列の使用
引数はまた、次のステートメントによってアクションに渡すことができます-
上記のステートメントは、2つの引数5と6を* TestControllerのindex()*メソッドに渡します。
例
次のプログラムに示すように、 config/routes.php ファイルに変更を加えます。
次のURLにアクセスして、上記の例を実行します。
実行すると、上記のURLは次の出力を生成します。