FuelPHPのスキャフォールドとマイグレーションで作業効率化

フレームワークを使って開発を始めて約1ヶ月半。
フレームワークの便利さに感動する毎日が続いています。

そんな今日は,今流行のFuelPHPについて。

FuelPHPのロゴ

FuelPHPは、PHP5.3によるWebアプリケーション用のMVCフレームワークです。2010年位Dan Horrigan氏によって開発が開始されました。

PHPのフレームワークには、「CakePHP」や「Symfony」「Codelgniter」など様々なフレームワークがありますが、FuelPHPは軽いため高速な処理を行うソーシャルゲームなどの開発には向いているそうです!

そんなFuelPHPのスキャフォールド(scaffold)マイグレーション(migration)がとても便利なので紹介したいと思います。

scaffoldとmigration

スキャフォールドについて

スキャフォールドとはRuby on Railsで導入された機能で、MVCフレームワークでCRUD操作を行うための枠組みを自動生成する仕組みのことです。

ちなみにCRUDとは、Create(生成)、Read(読み取り)、Update(更新)、Delete(削除)の頭文字をとった言葉で、データベースの基本的な操作のことを指します。

CRUDの説明

スキャフォールドによって、モデル(DBに接続、SQLの実行など)、ビュー(表示、編集登録、削除画面)、コントローラ、マイグレーションが一括して生成されます。※マイグレーションについては後ほど...

ようするに、スキャフォールドをすることによって、一覧表示画面、データ新規登録画面、データ編集画面、データ削除機能などが一瞬で出来てしまうということです!

FuelPHPでのスキャフォールドのコマンドは、


 php oil g scaffold demo_scaffold title:varchar[50] content:text id:int

上記のコマンドで、文字列で50文字までのtitleカラムとcontentカラム,整数型のidカラムのモデルが出来上がり、同時に表示編集登録削除のコントローラーも出来上がります。

超便利!!

マイグレーションについて

マイグレーションとは、データベースのテーブル構造を管理するものです。
マイグレーションを実行することで、作成したモデルをDBに反映させることが可能です。
FuelPHPでは、fuel/app/migrations以下のファイルを読み込むことで実行されます。

コマンドは、


 php oil refine migrate

上記コマンドを実行することで、作成したモデルがDBに反映されました!

ただし、この状態でファイルにアクセスしても以下のようなエラー画面が出ます。

Orm Model not Found!

これは、configファイルにModelを読み込む設定をしていないためなので、
fuel/app/config/config.phpのreturn array()の中に下記の情報を付け加えてあげましょう!

    'always_load'  => array(
            'packages'  => array(
                'orm',
                'auth',
            ),            
    ), 

そうするとページが表示出来るようになります。

scaffoldで作成した画面

編集画面

scaffold編集画面

削除機能もあり

scaffold 削除画面

これからフレームワークを使って開発を行う際には、スキャフォールドとマイグレーションは使用して行きましょう!!

  1. No Comments

*