FuelPHPのOilコマンドを使ったソース生成がものすごく便利です。
コマンドラインからOilコマンドを実行するだけで、Model、ViewやControllerクラスを自動生成してくれます。
また、Model生成時には、DBに定義したテーブルをcreateしてくれたり、cronジョブを実行してくれたりと、MVCフレームワーク特有のめんどくさい準備作業を自動化してくれます。
以下、今回確認した環境です。
- Windows 7
- xampp 1.8.2
- FuelPHP 1.7.2
OilでModelを作成
コマンドプロンプトを起動して、FuelPHPをインストールしたディレクトリに移動します。
(oilファイルがあるディレクトリです)
cd C:xxxfuelphp
ここで、name1~name3までのカラムを持つテーブル「sample」用のModelを作成します。
php oil g model sample name1:text name2:text name3:text
実行すると「…fuelappclassesmodel」に「sample.php」が自動生成されます。
class Model_Sample extends OrmModel { protected static $_properties = array( 'id', 'name1', 'name2', 'name3', 'created_at', 'updated_at', ); protected static $_observers = array( 'OrmObserver_CreatedAt' => array( 'events' => array('before_insert'), 'mysql_timestamp' => false, ), 'OrmObserver_UpdatedAt' => array( 'events' => array('before_update'), 'mysql_timestamp' => false, ), ); protected static $_table_name = 'samples'; }
モデルに「id」は必須のようで、自動で付加されます。
また、レコードの作成日時、更新日時用に「created_at」「updated_at」も付加されます。
さらにDBの設定が完了していることを前提に以下のコマンドを実行すると、上記の設定でDBにテーブルがcreateされます。
php oil r migrate
以下のようにさまざまなカラム設定も可能です。
php oil g model sample name1:int:primarykey name2:varchar[8]:notnull name3:varchar[8]
OilでControllerを作成
フォーム画面を作成する場合に、たいては入力・確認・完了の3画面を作成しますが、そのコントローラーを作成してみます。
php oil g controller form input confirm complete
実行すると「…fuelappclassescontroller」に「form.php」が自動生成されます。
class Controller_Form extends Controller_Template { public function action_input() { $data["subnav"] = array('input'=> 'active' ); $this->template->title = 'Form » Input'; $this->template->content = View::forge('form/input', $data); } public function action_confirm() { $data["subnav"] = array('confirm'=> 'active' ); $this->template->title = 'Form » Confirm'; $this->template->content = View::forge('form/confirm', $data); } public function action_complete() { $data["subnav"] = array('complete'=> 'active' ); $this->template->title = 'Form » Complete'; $this->template->content = View::forge('form/complete', $data); } }
同時に以下のビューファイルも生成されます。
...fuelappviewsforminput.php ...fuelappviewsformconfirm.php ...fuelappviewsformcomplete.php
MVCフレームワークでは、これらファイルやクラスを用意するところから、エラーとの戦いが始まるイメージですが、これらを補助してくれるコマンドが用意されてるのはたいへん助かりますね。
他にも便利な機能があるようのでいろいろ試してみたいと思います。
コメントする