2013年1月9日水曜日

oilでコード生成して様子を見る

どうもModelがらみの理解が出来ていないようなので、
サンプルを見てみることにしました。

サンプルはoilでジェネレートしたModelをのぞいてみることにする。


環境

  • Windows7 homepremium
  • xampp1.7.7
  • fuelphp1.4


oilはコマンドプロンプトcmd.exeから使用します。

管理者権限でcmd.exeを起動します。

起動後にoilまでのパスを通す。

phpまでのパス
c:\直下にxamppをインストールしている人ならパスは
c:\xampp\php になっていると思います。


C:\Users\ユーザー名>cd c:\xampp\php

C:\xampp\php>set path=%path%:%cd%


続けて、oilまでのパスを通します。
自分の環境ではWindowsのUsersフォルダに設けたworksのなかにfuel_practiceというフォルダがあるのでパスは以下のようになります。
c:\Users\ユーザー名\works\fuel_practice
コマンドプロンプトでパスを通す。

C:\xampp\php>cd c:\Users\ユーザー名\works\fuel_practice
C:\Users\ユーザー名\works\fuel_practice>set path=%path%:%cd%

これで準備完了。
それでは、さっそくoilでgenerateしてみよう。

ちなみに、やっていることのほとんどは
WinRoad徒然草さんのサイトに詳しく載っています。ほんとお世話になってます。

さてoilに関してのドキュメントにざっと目を通して。。。
http://fuelphp.jp/docs/1.4/packages/oil/generate.html
。。。うう、このへんから辛いですね。
生成されたModelを覗いてみたいということで、
Using Model_CRUD か Scaffolding ですよね??^^;
とりあえず全体を把握してみてみたいと思うので今回はScaffoldingでいってみよう。


C:\Users\ユーザー名\works\fuel_practice>php oil generate

で説明文。
Examples:には
php oil generate controller <controllername> [<action1> |<action2> |..]
php oil g model <modelname> [<fieldname1>:<type1> |<fieldname2>:<type2> |...]
php oil migration <migrationname> [<fieldname1>:<type1> |<fieldname2>:<type2>|...]
php oil g scaffold <modelname> [<fieldname1>:<type1> |<fieldname2>:<type2> |...]
php oil g scaffold/tmplate_subfolder <modelname> [<fieldname1>:<type1> |<fieldname2>:<type2> |...]
php oil g config <filename> [<key1>:<value1> |<key2>:<value2> |...]
と表示されました。


構文は
php oil g scaffold アプリケーションの名前 項目1:データタイプ 項目2:データタイプ ...
となっているようですね。
自分はwindows + コマンドプロンプトからなので先ほどパスを通したphpから実行するため
頭にphpをつけてます。

項目1,項目2がxampp上のMySQLテーブルのカラム名を兼ねていて、きっちり決めておけば後で手を入れるのを大幅に減らすことが出来そう。
ここでは、ドキュメントのサンプルのように2項目で作成してみます。

コマンドプロンプトからえいやっと。

C:\Users\ユーザー名\works\fuel_practice>php oil g scaffold sample3 title:string content:text

ばばばっと一気にファイルが作成されます。うーむ気持ちいい。
Creating migration: C:\Users\ユーザー名\works\fuel_practice\fuel\app\migrations/001_create_sample3s.php

Creating model: C:\Users\ユーザー名\works\fuel_practice\fuel\app\classes/model/sample3.php
Creating controller: C:\Users\ユーザー名\works\fuel_practice\fuel\app\classes/controller/sample3.php
Creating view: C:\Users\ユーザー名\works\fuel_practice\fuel\app\views/sample3/index.php
Creating view: C:\Users\ユーザー名\works\fuel_practice\fuel\app\views/sample3/view.php
Creating view: C:\Users\ユーザー名\works\fuel_practice\fuel\app\views/sample3/create.php
Creating view: C:\Users\ユーザー名\works\fuel_practice\fuel\app\views/sample3/edit.php
Creating view: C:\Users\ユーザー名\works\fuel_practice\fuel\app\views/sample3/_form.php
Creating view: C:\Users\ユーザー名\works\fuel_practice\fuel\app\views/template.php

もう一息。続けて

C:\Users\ユーザー名\works\fuel_practice>php oil refine migrate

これでテーブルが作成されたはず。 phpmyadminなどで確認してみましょ。 うむ。たしかに表示されてます。 さっそくアクセスすると。。。 普通に使えてます。すげ。 ちょっと長くなったので今回はここまで。 作成されたModelを読み解くのを次回にしようと思います。お疲れ様でした。

0 件のコメント:

コメントを投稿