LoginSignup
4
2

More than 5 years have passed since last update.

CakePHP3 Wayな論理削除プラグイン Trash

Last updated at Posted at 2016-08-24

CakePHP3 Wayな論理削除プラグイン Trash

(個人感想として)CakePHP3の作法にしたがっていて、コードを読んでみて勉強になった論理削除プラグインを紹介します。

特徴

よくある論理削除プラグインとほとんど同じですが、特徴としては以下のような感じ。

  • 日時のフィールド( deletedtrashed がデフォルト)を使って論理削除を実現している(フラグはない)
  • CASCADE DELETEがCakePHP3の作法にそって綺麗に実装されている
    • リストアもCASCADEで復旧できるメソッドが提供されている
  • Model#delete() メソッドをそのまま利用できる
    • イベントの Model.beforeDelete で処理を実現している
    • ちゃんと Model.afterDelete をディスパッチしているのも良い
  • 設定でいろいろ変更可能

実装はとてもシンプルなので、Behavior実装の勉強になるのではないかと思います。

個人的にはCASCADE DELETEがCakePHP3の作法で綺麗に実装されていて勉強になりました。
(Trashプラグインを参考に別のプラグインを実装しています)

使い方

README に書かれている内容で十分です。

ソースコードを読むと勉強になりますね。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2