FuelPHPでは、コントローラーを通常、以下ディレクトリに配置します。
app/classes/controller/index.php
コントローラーのファイルが増えてくると、ディレクトリを分けて配置したいというケースも出てくるかと思います。
controllerディレクトリ配下にさらにディレクトリを作って、コントローラーファイルを配置するときの設定方法をご紹介します。
コントローラーの記述
例として、次のようにindex.phpを配置することを想定します。
app/classes/controller/test/index.php
この場合、コントローラーindex.phpの記述は、次のとおりです。
class名に「_」(アンダースコア)をつなげて書くことで、サブディレクトリのコントローラーを呼び出せます。
次のようなURLにアクセスすれば、上記が実行されます。
http://example.com/test/index
indexなしのURLでアクセスできるように設定する
上記に紹介したURLでは、/index がないと、コントーラーのindexメソッドを呼び出すことができず、not foundとなってしまいます。
次のような /indexを除外したシンプルなURLでも、実行されるようにルーティングを設定します。
http://example.com/test/
app/config/routes.php
上記のように、routes.phpに追記することで、/indexなしのURLでも、実行されるようになりました。