FuelPHPにはoil
コマンドという便利なやつがあります。CakePHPのbake
みたいなものです。
よく使うものをメモ。
モデル生成
[code lang=text]
oil g model model_name field_name1:type field_name2:type field_name3:type
[/code]
モデルを作るコマンドです。model_name
はモデル名、field_name
はフィールド名、type
は型です。型はMySQLの基本的なものならなんでも使えます。varchar
のように長さをしていするものはvarchar[255]
、enum
はenum['Y','N']
のように角括弧を使って指定します。また、id
とcreated_at
(作成時刻)とupdated_at
(更新時刻)は自動的にフィールドが作成されます。時刻が必要ない場合は、--no-timestamp
オプションをつければ、created_at
とupdated_at
は作られません。
コントローラ生成
[code lang=text]
oil g controller controller_name action1 action2 action3
[/code]
コントローラを作るコマンドです。これは特に説明は必要ないと思いますが、controller_name
はコントローラ名、action
はアクション名です。
データベースにフィールドを追加
[code lang=text]
oil g migration add_field_to_model field:type
[/code]
フィールドをDBに追加するコマンドです。field
はフィールド名、model
はモデル名、type
は型です。例えば、users
というテーブルに長さ25の
varcharの
mail`というフィールドを追加したいときは
[code lang=text]
oil g migration add_mail_to_users mail:varchar[255]
[/code]
とすればDBにフィールドが追加されます。どうやら、モデルに自動的に追加はされないようなので、モデルのフィールド名が書かれている配列に手動でフィールド名を追加しましょう。(たぶんどっかに自動的に追加させる方法はあると思うので、調べてみます。)
モデルとコントローラ、ビューを一気に生成
[code lang=text]
oil g scaffold name field1:type field2:type field3:type
[/code]
ピッタリ使い道が合えば、かなり強力なコマンドです。name
はモデル名/コントローラ名、field
はフィールド名、typeは型です。このコマンドを実行すると、一気にデータベースにデータを追加する・編集する・削除する・一覧で表示するという、いわば、ブログアプリケーションが一瞬で作れます。しかもデザインにはTwitterBootstrapが使われているので、そこそこの見た目に表示してくれています。
モデルをDBにマイグレート
[code lang=text]
oil r migrate
[/code]
oil g model
系のコマンドを実行するとmigrate
フォルダにphpファイル
が生成されていきます。このコマンドはそのmigrate
ファイルを元にデータベースの構造を作っていきます。
[code lang=text]
oil r migrate:current
[/code]
とやれば、現在のバージョンのmigrateファイルをもとに、データベースを更新します。また、
[code lang=text]
oil r migrate –version=2
[/code]
とするとバージョンが2のファイルをもとにデータベースを更新します。
まとめ
FuelPHPを触り始めて約1ヶ月ほどですが、今のところ使っているのは以上です。oil
コマンドは使いこなせるとかなり早く開発が進められそうなので、もっとしっかり勉強したほうがいいかもしれませんね。また、分かったことがあれば、書いて行きたいと思います。
コメントを残す