Pageクラス探索の仕組み
次期Moony(仮称:M2)について、Pageクラスベースで動く仕組みを考えてみる。
Pageクラスというのは、現行Moonyで言うところのアクションクラスのこと。例えば、/foo/bar/bazというURLにアクセスがあった場合、以下の順番でPageクラスを探索する。
- /pages_dir/foo/bar/baz.php (クラス名: Foo_Bar_Baz)
- /pages_dir/foo/bar.php (クラス名: Foo_Bar)
- /pages_dir/foo.php (クラス名: Foo)
- not found
baz.phpが存在せず、bar.phpが存在する場合、Foo_BarがPageクラスとして使用される。その場合、「baz」はPATH_INFOから取得することで実行パラメータとして利用できる(取得を容易にするためのヘルパーメソッドを用意する)。
どうだろう。