Show page source of RequestURL #38825

= SimframeとリクエストURL =

Simframeでは、URLを元に、ControllerとActionが自動的に決まります。
これは、config/routes.phpに記述されている内容によって決まります。
このルール付けと、振り分けをしてくれるのが、SMapです。

デフォルトでは、次のような内容になっています。

{{{
SMap::connect('/:controller/:action/:id');
SMap::connect('/:controller/:action');
SMap::connect('/:controller',array('action'=>'index'));
SMap::connect('/',array('controller'=>'top','action'=>'index'));
}}}

例えば、!http://example.com/ にリクエストがあると、最後のルールにマッチするため、そのときは、controllerは、top,actionは、indexが実行されることになります。

topという名前が気に入らない場合は、別の名前にしても構いませんので、 routes.phpファイルを修正してください。

他にも、簡単な例を挙げると、次のようになります。

 * !http://example.com/blog/entry/entry-XXX => {controller=>blog,action=>entry,id=>entry-XXX}
 * !http://example.com/blog/entries => {controller=>blog,action=>entries}
 * !http://example.com/blog => {controller=>blog,action=>index}
 * !http://example.com/blog/etnry/entry-XXX/comments => 該当するルールなし(エラーとして扱われる)

自分のルールを定義することももちろん可能なので、自由に設定してみてください。 
URLを決める際に、ルールは、上に書かれたものから評価され、途中でマッチすると、以降は評価されないので、
優先度を上げたいものは、 上に書くようにしてください。

自分の書いたルール付けが正しいかどうか、判断するには、別のファイルでroutes.phpを読み込んで、次のように書き込んで、コマンドラインから実行してください。

{{{
include("routes.php");
print_r(SMap::parse("/uri/hoge/huga"));
}}}

[wiki:Documentation 戻る]