CakePHP3で作成したシェルをcron設定する(バッチ処理)
CakePHPで作成したスクリプトの実行コマンドをcronに設定することで、バッチ処理を実現する方法です。以前、CakePHPでシェルを作成する方法を記事にしたので、cronに時間とコマンドの設定方法をメインに説明していきます。
CakePHPで作成したスクリプトの実行コマンドをcronに設定することで、バッチ処理を実現する方法です。以前、CakePHPでシェルを作成する方法を記事にしたので、cronに時間とコマンドの設定方法をメインに説明していきます。
CakePHPにて「Missing Template」エラーが出てきました。ちゃんと対応するディレクトリに関数名と同じ名前のctpファイルを格納しているはずなのに。調べたところ、それまであまり気にしていなかった命名規則に原因があるらしい、、。
記事の一覧を動的に表示させ、記事毎に設置させているボタンを押すと、対象の記事の「記事タイトル」を使った確認ダイアログが表示されるようにしたかった。CakePHPで色々処理を書いていた中、JavaScriptを連動させてみました。
SmartyのテンプレートからSmartyの構文が入った文字列をレンダリングするやり方です。Smartyのテンプレートを、ファイルからではなく文字列から読み込ませたかったので公式のドキュメントからやり方を探しました。
CakePHP3でシェルを作成し、コンソールから実行する手順を説明いたします。シェルを作ることができれば、cronジョブを使用してバッチ処理を実現するなど、ウェブブラウザからのアクセスを必要としない処理に使うことができます。
今回は文字数の取得を行います。strlen関数とmb_strlen関数は文字列を取得する点では共通していますが、返すものが異なります。
CakePHP3でafterDeleteイベントが呼ばれないことがあったので調査しました。その際に、原因がdeleteAllだと判明したので、deleteAll時にafterDeleteイベントを呼ぶ方法についても調査しました。
CakePHP3のvalidationDefaultで重複チェックを行う方法を説明いたします。保存時のbuildRulesではなくvalidationDefaultで行うことで、入力後の確認画面に遷移する前にチェックができるようになります。
CakePHPのバリデーションの話です。同じカラムに対して複数のカスタムバリデーションを設定したかったのですが、1つしかバリデーションが効かなかったので原因を追求しました。