ユーザのアクションの監査に使用できるクラスはありますか? レコードを追加、削除、変更することで、ユーザーが行う操作を意味しますか?アクションのログの実装
私はphpmyeditを使用していましたが、「logtable
」オプション()を使用して、その特別なテーブルへのアクティビティを「監査」または追跡することができます。
$f->update()
の前にこれを行うことは可能ですか(たとえば)実装する必要がありますか?
ユーザのアクションの監査に使用できるクラスはありますか? レコードを追加、削除、変更することで、ユーザーが行う操作を意味しますか?アクションのログの実装
私はphpmyeditを使用していましたが、「logtable
」オプション()を使用して、その特別なテーブルへのアクティビティを「監査」または追跡することができます。
$f->update()
の前にこれを行うことは可能ですか(たとえば)実装する必要がありますか?
このようなクラスはありませんが、これを複数回実装しました。これには、標準のModel_Tableクラスを「プッシュ」して、すべてのモデルに機能を組み込む必要があります。ここはレシピです。
をのBeforeUpdate/afterUpdateのための同様のコードを書くとbeforeDelete/afterDelete。いくつかのテストを作成します。再帰を避けるためにModel_Auditがあなたのクラスを継承しないことを忘れないでください。実際にクラスに名前を付けられるのは、モデルのために使うことを忘れない限りです。
アジャイルツールキットは、コントローラ経由でシームレスな監査サポートを提供します。
class Model_Table extends Model_MVCTable {
function beforeInsert($data){
$this->insert_audit = $this->add('Model_Audit')
->set('action','insert');
$this->insert_audit->update();
return parent::beforeInsert($data);
}
function afterInsert($id){
$this->insert_audit->set('is_completed',true)
->update();
return parent::afterInsert($id);
}
}