2013-11-15 54 views
0

我需要記錄用戶活動的某些方面。基本上更新,插入和刪除一些表。這是一個基於php的web應用程序。這意味着沒有面向方面編程。用於記錄用戶活動的設計模式

我想在這種情況下使用最適合的設計模式。

謝謝

+0

PHP確實有AOP。 – eversor

+0

設計模式?簡單的舊日誌記錄有什麼問題?你正在嘗試將複雜的術語應用於一個微不足道的問題。 –

回答

1

設計模式不是你想要的術語。你基本上是指「人們爲解決這個問題做了很多事情。」

除了語義之外,雖然沒有標準的AOP支持,但您可以使用Go!庫來實現PHP的AOP。這裏是使用Go的tutorial!記錄。

您還有其他選擇,如FlowLithium

+0

有關更多信息,請訪問Go官方網站!例如,AOP [使用教條註釋的PHP中面向方面的日誌記錄](http://go.aopphp.com/blog/2013/07/21/implementing-logging-aspect-with-doctrine-annotations/) – lisachenko

0

如果你把它放在php代碼中,你將不得不復制邏輯,如果你想使用其他語言。

你最簡單的選擇可能是簡單地使用觸發器在數據庫中(無需設計模式!)

不過,如果你把你的數據庫這個邏輯,你必須找到一個替代你應該永遠要移動到另一個數據存儲區。

通過在代碼級別注入日誌記錄,您可以記錄更多SQL CRUD操作,如果您需要的話?使用觸發器,您不必擔心事務和原子性。

我認爲這涉及到您的要求的具體細節以及您花費多少時間購買設計模式的理想主義應用程序。我會鼓勵實用主義!