URIを考える
WEB+DB PRESSのvol.32 を読む。
http://yohei-y.blogspot.com/2005/08/uri.html
こことかで言われてるように真面目にURIを考えないとダメだなーって思った。
今は
?action=Group_Action
と指定すると
Group/Action.class.php
が実行されるようにすればいいかなーと思ってたんだけど、PHPを作る上でのまとまりとURIとは同一にしない方がいいのかもしれない。
複数のアクションにまとめてフィルタをかけたいという理由でディレクトリを作ることもある。その場合はURIもそれに従う必要は無い。
そういうのは例えば会員専用ページで会員リストを取得する場合
?action=List
というのを
?action=Member_MemberList
に転送するだけでもいいかな。
PATH_INFOを使った場合は
/MemberView/001
というPATHをMemberディレクトリのフィルタを使って
$memberId = $_SERVER['PATH_INFO'][1]; $Request->add('memberId', $memberId);
みたいな感じで。
mod_rewriteではなくてAliasMatchを使った場合のApacheの設定は
AliasMatch ^/(.*\.(js|ico|gif|jpg|png|css))$ /home/foo/public_html/project/htdocs/$1 AliasMatch ^/(.*)$ /home/foo/public_html/project/htdocs/index.php/$1
とする。
そうすると指定した拡張子(js、ico等)以外のパスにindex.phpを指定できる。
# これを
# .htaccessではAliasMatchが使えない模様・・