CakePHP3CakePHP3のbakeによる自動生成をカスタマイズする5 今回は各テンプレートに散らばるコード定義の共通化と、左メニューの自動生成について以下の作業を実施しました。 コード定義をBakeするタスククラスを生成する 当初はModelTask内で一緒にコード定義を生成していましたが、後からコード定義だけメンテナンスが入ったときのために処理を切り分けることにしました。CodesTaskというクラスを作成しました。 BakeTaskを継承したクラス...2019.09.01CakePHP3
CakePHP3CakePHP3のbakeによる自動生成をカスタマイズする4 前回の時点でMySQLのテーブルやカラムのコメントが60文字までしか使えなかったりでテーブル定義だけでは自分がやりたい自動生成はできないことがわかりました。前回課題に挙げたbake実行時に設定ファイルを読み込み、それを元にbake実行時にやりたい放題する処理の流れを作ってみました。 設定ファイルを読み込んだbakeを実装する 以下のような物件に関する設定ファイルを作成しました。conf...2019.08.25CakePHP3
CakePHP3CakePHP3のbakeによる自動生成をカスタマイズする3 引き続きCakePHP3のbakeによる自動生成処理をカスタマイズしています。 今回は一覧画面に検索機能を追加してみました。 一覧画面のビューに検索フォームを追加する 検索フォームはボタンクリック時に右側からスライド表示されるようなモーダルウィンドウにしてみました。 index.twigにモーダルウィンドウを表示するボタンとモーダルウィンドウのHTMLを追記しました。 モーダルウ...2019.08.07CakePHP3
CakePHP3CakePHP3のbakeによる自動生成をカスタマイズする2 前回のbakeのカスタマイズの際、add()をedit()と統合した結果add.ctpの生成自体が不要となりました。 特定のテンプレートファイルの生成をやめるにはBakeShellとそこから呼び出される各タスクをカスタマイズが必要そうだったので今回は以下のような作業を実施しました。 BakeShellとタスククラスをコピーする cake_app/vendor/cakephp/...2019.07.24CakePHP3
CakePHP3CakePHP3のbakeによる自動生成をカスタマイズする 前回に引き続きCakePHP3についての備忘録になります。 今回はbakeの自動生成処理をカスタマイズしてより修正が少なくできるような施策を実施します。以下のような単純なカラムを持つsamplesテーブルを使用します。 DROP TABLE IF EXISTS `samples`; CREATE TABLE `samples` ( `id` int(11) NOT NULL AUTO_...2019.07.20CakePHP3