関する発表をやっていて、今までになかったルーティング情報のまとめみたいな資料になっていて多くのBakerが目から鱗状態になったと思います。ボクもそんな中の一人ですが、忘れないうちに復習してみようとおもいます。akiyan.comとかぶりますので、まずはそちらのページを熟読される事をオススメします。routeの確認にはユニットテストが有効です。shin1x1さんが詳しいエントリーを上げてくださったのでこちらも必読。blogで、ボクはというと実際飛んでいるパラメータを確認するためにもテスト用のコントローラーを作成して確認してみました。Viewにも渡さないようにしています。呼んでいますが、CakePHPが使っているパラメータ配列が確認できて非常に有用ですのでぜひお試しあれ。デフォルトのルーティング基本中の基本なのでakiyanさんは飛ばしていましたが、そもそもCakePHPでのルーティング(=URLとコントローラー/アクションのマッピング)は下記のようなルールで行われています。名前付きのパラメータCakePHP1.2では(コントローラー/アクション以外の)パラメータに名前を付けて渡す事ができます。方に入り名前付きの連想配列になって渡っている事が分かります。表示するようにしたい。Router::connect関数で表現します。:plugin)に対応するデフォルト値を設定します。:plugin)はRouter::connect関数の第1引数であるURLに変数として記述する事ができます。アクション名を動的なパラメータで表す例です。ルーティングされます。アクセスしないといけません。こんなややこしい事やる人いないと思うけど。'index'));が指定してあるだけなんだなぁという事がわかります。:plugin)以外の独自のパラメータも定義する事ができます。akiyanさんは「paramsルーティング」と名付けていましたね。アクセスできるようになります。6)Router::connect関数の第2引数でデフォルト値と固定パラメータを定義するRouter::connect関数の第2引数にはroute要素であるコントローラー/アクションの名前を入れたり、5)のparamsのデフォルト値を設定したりできますが、それ以外の独自のパラメータも定義する事ができます。デフォルト値は設定されていますが、URLで省略していないので使われていません。パラメータが取得できている事がわかります。独自のパラメータはkey-valueの連想配列でなくても可能です。:plugin)や独自のparams、あと細かい説明を飛ばしていますがワイルドカード「*」などを使って、かなり柔軟なルーティングが可能ですが、ともすればよけいなURLまでパターンに合ってしまっておかしなアクションが実行されてしまったりします。これを防ぐために、各要素に対して正規表現でパラメータのルール(制限)を書く事ができます。