FuelPHP

FuelPHPのoilで簡単アプリケーション作成

更新日:

FuelPHPには、oilというコードジェネレーターがあります。今日は、そのoilについて調べてみたいと思います。既にC:\xampp\phpにパスが通っているものとして説明いたします。パスの通し方がわからない方は、『CakePHP2.0でbakeによるアプリケーション作成』を参考にして下さい。

1) それでは、コマンドプロンプトを起動します。コマンドプロンプトを起動したら、fuelのインストールされているテストサイト(ローカルフォルダ)に移動します。

cd C:\xampp\htdocs\fuelphp

2) 『php oil help』(helpは省略可)と入力するとoilのヘルプが起動します。下の方の説明には『oilコマンドは、あなたのアプリケーションのテストや実行中のタスクを助け、迅速な開発を促進するために、いくつかの方法で使用することが出来ます。』みたいな事が書いてあると思います(何度も言いますが、英語は苦手なので、間違っていたら訂正して下さい)。

3) 順に見てみたいと思います。『php oil cells』と入力します。Gitに関する設定みたいです。このコマンドでパッケージなどをダウンロードすることが出来るのですね。Gitは使っていないので、ここは省略します。

4) 『php oil console』と入力してみます。『FulePHP1.1......』と表示して、コマンドの入力待ちになりました。今は使い方がわからないので、『exit』と入力して元のコマンドプロンプトの状態に戻します。

5) 『oil php generate』と入力してみます。『oilコマンドは、MVCコンポーネントの生成及び、データベースマイグレーションや、特定のタスクを実行するために使用できます。』との説明があります。コードジェネレーターは、『コントローラ、モデル、マイグレーション、scaffold、ビュー』等が生成出来るみたいです。ここはメインですので、後で詳しくやります。

6) 『php oil refine』と入力してみます。『php oil refine タスク名』という風な使い方をするみたいです。尚、タスクをコマンドラインで直接実行する以外に、cronジョブとして自動実行の設定も出来るみたいですね。そのうち必要になったら詳細な使い方を調べたいと思います。

7) 最後に、『php oil test』と入力してみます。エラー表示が出て、『PHPUnitがインストールされていません、下記のサイトを参照して下さい。』といっているみたいです。そのうち必要になったら調べたいと思いますが、今日は飛ばしたと思います。

『php oil generate』でコード生成

8) それでは本日のメインであるアプリケーションの生成を行いたいと思います。アプリケーションを生成するには、『scaffold』を使用するのが簡単だと思いますので、『scaffold』を使用することにします。下記のように入力します。

php oil g scaffold sample2 tiltle:string content:text

9) 下記のようにコードが生成されたみたいです。migration、model、controller各ファイル1個に、veiwファイルが5個生成されています。ビューファイルは、index、view、create、edit、_fromです。

10) Dreamweaverで確認してみます。ファイルが自動生成されたのが確認できました。

11) データベースをまだ作成していませんので、現状のまま、ブラウザを開いてみると、『テーブルかビューが見つかりません』とエラー表示が出ます。

12) さて、テーブルは手動で作成するのでしょうか。いいえ、ここで先程作成されたマイグレーションを使用します。下記のように入力します。

php oil refine migrate

13) 『Migrated app:default to latest versio:2』と表示され、コマンドプロンプトの入力待ち画面になりました。やけにあっさりしています。

14) phpMyadminを起動してデータベースを確認してみます。migration、sample2sという2つのテーブルが作成されています。

15) migrationを開いてみます。name、type、versionの3つのフィールドがあります。既にデータが1つ作成されています。

16) テーブルsample2sを見てみます。私が指定したtitle、content以外に、idフィールド、created_atフィールドとupdated_atフィールドが自動的に作成されています。

17) 再度ブラウザで確認してみます。Sample2sという表題と、Listing Sample2sが表示されていますが、まだデータが入力されていませんので、データの追加ボタンだけが表示されています。

18) 『Add new Sample2』ボタンをクリックすると、新規入力画面になりますので、データを入力してみます。

19) 今、入力したデータが表示され、contentの後に、View、Edit、Deleteのリンクも作成されています。

20) このままでは、何のデータなのか分からないので、テーブル名を変更してみます。

php oil g migration rename_table_sample2s to movies

21) 続いて、今作成されたマイグレーションをrefineします。

php oil refine migrate

22) phpMyadminで確認してみます。名前が変更されています。

23) テーブル名を変更したのは、いいのですが、このままでは、せっかくのScaffoldが役に立たなくなってしまいます。ブラウザで確認してみます。リネーム前のテーブルを探して、エラーになっています。

24) 全てのコントローラ名、モデル名、ビューファイル名を変更しなければならないのでしょうか。いいえ、モデル名と、コントローラの一部を変更するだけで済みます。まず、モデル名をsample2.phpからmovie.phpに変更します。ファイルの中のクラス名もMovieに変更します。

25) 次に、コントローラのsample2.phpを開きます。編集→検索/置換で『検索及び置換』ダイアログを開いたら、検索に『Model_Sample2』、置換に『Model_Movie』と入力して、全て置換ボタンをクリックします。

26) これで元のように使えるようになりました。

と云うことは、既存のテーブルも簡単に使うことができるようになるということですよね。その辺は後日試してみます。

本日は以上です。

-FuelPHP
-

Copyright© WinRoad徒然草 , 2018 All Rights Reserved Powered by AFFINGER5.