CakePHP bakeその1
bakeコマンドについて。
CakePHPのMVCについて基本わかれば一通り使えるようになる。 がそれぞれのファイルを生成し、ソースコードを書かなければならない。
「細かいことはいいから、取り敢えず動いてくれるものを作れればおk」そんな時はbakeコマンド。
bakeコマンド
bin/cake bake 対象 名前
基本的な対象はこちら。
「対象」
all:MVC一式を作成
controller:コントローラを生成
model:モデルを生成
template:テンプレートを生成
test:ユニットテストを生成
bin/cake bake model boards
こんな感じに実行するとBoardsTable.phpとBoard.phpを自動生成。
対象をallで実行すると
bin/cake bake all books
モデル関係
コントローラ関係
ビュー関係
ユニットテスト関係
こちらのファイル全てが生成される。
で、生成されたBooksTable.phpの中身を見ると
<?php namespace App\Model\Table; use Cake\ORM\Query; use Cake\ORM\RulesChecker; use Cake\ORM\Table; use Cake\Validation\Validator; class BooksTable extends Table { public function initialize(array $config) { parent::initialize($config); $this->table('books'); $this->displayField('title'); $this->primaryKey('id'); } public function validationDefault(Validator $validator) { $validator ->integer('id') ->allowEmpty('id', 'create'); $validator ->allowEmpty('title'); $validator ->allowEmpty('author'); $validator ->integer('price') ->allowEmpty('price'); return $validator; } }
で、最初からinitializeとvalidationDefalutというメソッドが生成されている。
initialize:テーブル名、表示する項目、プライマリキーなどの設定 validationDefalut:値の検証に関する処理を用意。