0
我通過檢查 保存之前和之後的對象差異來記錄我的應用程序中的對象在processForm函數中的更改。我堅持到我的數據庫中的日誌表。Symfony - sfGuardUser - 如何記錄組或權限更改?
對於sfGuardUser後端,我使用生成的管理員 ,它自動保存對嵌入組 或權限所做的更改。
我想記錄這些更改 - 但我可以在哪裏添加我的日誌過程?
我通過檢查 保存之前和之後的對象差異來記錄我的應用程序中的對象在processForm函數中的更改。我堅持到我的數據庫中的日誌表。Symfony - sfGuardUser - 如何記錄組或權限更改?
對於sfGuardUser後端,我使用生成的管理員 ,它自動保存對嵌入組 或權限所做的更改。
我想記錄這些更改 - 但我可以在哪裏添加我的日誌過程?
嗯,我認爲處理這種變化的最佳場所是在模型中而不是在processForm中。這是一種行爲的完美工作。
有一種行爲叫做versionable裏面做你所做的事:將歷史上的一個模型中的每個變化,你只需要在你的schema.yml來定義它:
BlogPost:
_propel_behaviors:
versionable:
log_created_at: true
log_created_by: true
log_comment: true
columns:
title: string(255)
body: clob
因此,也許你可以得到的啓示this behavior來創建你自己的。然後你只需修改sfGuard的schema.yml,如:
sfGuardGroupPermission:
_attributes: { phpName: sfGuardGroupPermission }
_propel_behaviors:
versionable: { log_created_at: true, log_created_by: true, log_comment: true }
編輯: 切換到推進。
你使用的是原則還是推進? – j0k
Symfony 1.4 with Propel –
好的我已經更新了我的答案 – j0k