Ritolabo
  1. Home
  2. PHP
  3. CakePHP

カテゴリ

CakePHP3でイベントリスナーを用いた処理の実装(&メールやSlackでの通知)

  • CakePHP
CakePHP3でイベントリスナーを用いた処理の実装(&メールやSlackでの通知)

CakePHPのイベントリスナでメールやSlackへ通知を行います。いわゆるObserverパターンを用いたイベント処理になります。

CakePHP3のトランザクションとtry/catchと例外処理と。

  • CakePHP
CakePHP3のトランザクションとtry/catchと例外処理と。

CakePHPのコントローラ内にtry/catchを仕込み、トランザクションの一連の処理を実装します。データベースを絡めた処理の場合に、その整合性を保つ為に、エラーが出たら処理前の状態に戻して終了させたい場合があります。そんな時に必要なのは、トランザクションという仕組みです。また、それを実現する為に基本的には、エラーが発生し例外が投げられた際にそれをキャッチし独自の処理を実装する必要があります。

CakePHPにAWS SDK for PHPを導入しS3のファイル操作を行う

  • CakePHP
CakePHPにAWS SDK for PHPを導入しS3のファイル操作を行う

PHPからAWS S3を操作するには専用のSDKである「AWS SDK for PHP」が用いられますが、CakePHPにそれを導入し、一連のファイル操作を行います。

CakePHP3でメッセージやテキストのローカライズ(多言語化)を行う。英語から日本語へ

  • CakePHP
CakePHP3でメッセージやテキストのローカライズ(多言語化)を行う。英語から日本語へ

WEBアプリケーション構築の際に日本語だけでなく、英語や中国語などにも対応させたい場合があります。CakePHPでは、翻訳ファイルを用いてテキストや動的なメッセージを多言語化する事が可能です。

CakePHPの認証機能に最終ログイン日時の記録を追加する(ビヘイビア/イベント)

  • CakePHP
CakePHPの認証機能に最終ログイン日時の記録を追加する(ビヘイビア/イベント)

CakePHPの場合、認証コンポーネントを使う事で簡単にログイン機能を構築できますが、最終ログインの記録部分に関してはデフォルトでは機能実装は行われていませんが、ビヘイビアとイベントを使う事で簡単にその機能を構築する事ができます。

CakePHPで論理削除(ソフトデリート)を実現する(cakephp3-soft-delete)

  • CakePHP
CakePHPで論理削除(ソフトデリート)を実現する(cakephp3-soft-delete)

CakePHPのdelete(削除)メソッドは、デフォルトでは物理削除が行われます。でも案件によっては論理削除を行いたい場合があると思います。その時にもし、単純にdeleteカラムを作り、1を仕込んで更新する方式の場合、一つだけ潜在的な不具合の種を蒔く事になります。今回はそれらを全て解決する為に、cakephp3-soft-deleteというプラグインを使って、論理削除(ソフトデリート)を実現していきます。

Author

rito

rito

  • Backend Engineer
  • Tokyo, Japan
  • PHP 5 技術者認定上級試験 認定者
  • 統計検定 3 級