Junkinsのブログスマートフォン用の表示で見るJunkinsのブログこの広告は、90日以上更新していないブログに表示しています。14日目として投稿したものです。毎週水曜日Junkinsの日2日目でございます。初日や9日目の記事にも取り上げられた、Bakeです。Bakeは便利CakePHP3のBakeはカスタマイズが楽で重宝しています。Pluginとはまた違った形で開発効率の向上に寄与してくれます。Bakeのカスタマイズbakeをカスタマイズする場合は、TaskとTemplateをカスタマイズします。例として、ModelTaskを拡張してみます。ModelTask{}この時点でbakeコマンドを実行してみます。testJunkinsModelのタスクが実行できるようになっています。junkins_model下記のコマンドで通常のModelTaskと同じ処理が可能です。同じ名前のクラス名で定義するとBakePluginのタスクが優先されてしまいます。tableを無視してくれます。allオプションを指定する際などに便利ですね。--forceTemplatesrc/Template/Bake/Model/table.ctp継承元のクラスを変える変更をしています。Accountssrc/Model/Table/AccountsTable.php継承元のクラスが変更されました。'JunkinsModel/';}このように拡張するとBakeで作成するファイルを設置する場所を変更することができます。ClipsClipsTable.phpとClip.phpがJunkinsModel以下に作成されていることがわかります。先ほどの例では、下記のファイルパスにテンプレートをファイルを設置してテンプレートを作成しました。src/Template/Bake/Model/table.ctpただ、このままだと複数のテンプレートを使い分けることができません。その際に用いられるのが「テーマ」機能です。下記のパスでテンプレートを作成すると、下記のコマンドで作成することができます。Simple注意:SimplePluginはPluginとして使用出来る状態に設定する必要がある。イベントを設定することで、bake対象のtableごとに処理を分けることが可能です。1もっとも自由にカスタマイズできるクラスは「SimpleBakeTask」です。デフォルトで下記のクラスが準備されていますが、それ以外をBakeしたい場合はSimpleBakeTaskを使うと良いと思います。