Cambios recientes

2009-06-24
2009-04-06

Últimos archivo liberados

This Project Has Not Released Any Files

Wiki Guide

Sidebar

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"));

戻る