CakePHP3でイベントリスナーを用いた処理の実装(&メールやSlackでの通知)
- CakePHP
CakePHPのイベントリスナでメールやSlackへ通知を行います。いわゆるObserverパターンを用いたイベント処理になります。
CakePHPのイベントリスナでメールやSlackへ通知を行います。いわゆるObserverパターンを用いたイベント処理になります。
CakePHPのコントローラ内にtry/catchを仕込み、トランザクションの一連の処理を実装します。データベースを絡めた処理の場合に、その整合性を保つ為に、エラーが出たら処理前の状態に戻して終了させたい場合があります。そんな時に必要なのは、トランザクションという仕組みです。また、それを実現する為に基本的には、エラーが発生し例外が投げられた際にそれをキャッチし独自の処理を実装する必要があります。
PHPからAWS S3を操作するには専用のSDKである「AWS SDK for PHP」が用いられますが、CakePHPにそれを導入し、一連のファイル操作を行います。
WEBアプリケーション構築の際に日本語だけでなく、英語や中国語などにも対応させたい場合があります。CakePHPでは、翻訳ファイルを用いてテキストや動的なメッセージを多言語化する事が可能です。
CakePHPの場合、認証コンポーネントを使う事で簡単にログイン機能を構築できますが、最終ログインの記録部分に関してはデフォルトでは機能実装は行われていませんが、ビヘイビアとイベントを使う事で簡単にその機能を構築する事ができます。
CakePHPのdelete(削除)メソッドは、デフォルトでは物理削除が行われます。でも案件によっては論理削除を行いたい場合があると思います。その時にもし、単純にdeleteカラムを作り、1を仕込んで更新する方式の場合、一つだけ潜在的な不具合の種を蒔く事になります。今回はそれらを全て解決する為に、cakephp3-soft-deleteというプラグインを使って、論理削除(ソフトデリート)を実現していきます。