ここでは、fuelPHPのコントローラの実行、およびルーティングの設定方法について記載します。
実行環境はapache2.x × PHP5.3を使っています。
1.Controllerの作成
Controllerは下記のようにして作成します。
<?php
/**
* 初期処理を行うコントローラ
*/
class Controller_Init extends Controller
{
/**
* 初期処理を実行する
*
* @access public
* @return Response
*/
public function action_index()
{
print_r('action index is called.');
}
}
ポイントは下記の点でしょうか
- クラス名はController_Hogeの形式で記述する
- Controllerクラスを継承する(他にもControllerの用途によって幾つか用意されていますが、ここでは普通のControllerクラスを使用します)
- ブラウザからの実行メソッドはaction_fugaの形式で記述する
- このとき、エントリポイントはhttp://XXXX.jp/hoge/fuga/となる
また、「action_index」と記載すると、エントリポイントにコントローラ名を記載するのみで実行されます。
つまり、この場合だと
http://XXXX.jp/init/
がこのコントローラのエントリポイントとなります。ds
これでコントローラの準備はOKです。
2.ルーティング
実際にWebサイトを公開する際は、初期ページは
http://XXXX.jp/
のみで指定したい、という場合が多いと思います。
こうしたルーティングの設定は、routes.phpというファイルで行います。
routes.phpは/path/fuel/app/config配下にあります。
もともとデフォルトだと「welcome」というコントローラを実行するよう設定されたファイルが置かれていますね。
こちらの「root」の部分の記述を下記のように変えます。
<?php
return array(
// '_root_' => 'welcome/index', // The default route
'_root_' => 'init',
'_404_' => 'welcome/404', // The main 404 route
'hello(/:name)?' => array('welcome/hello', 'name' => 'hello'),
);
これでルーティングも設定完了です。
3.確認
では、実際に
http://XXXX.jp/
にブラウザからアクセスしてみましょう。
コントローラが正常に実行されたようです。
今回はここまで。
気が向いたらまた何か書きます。