2011-12-09 33 views
0

全部,PHP - 當我不需要它們時,我應該在DAO類中創建一個人造繼承嗎?

使用PHP構建一個小型web應用程序。我沒有太多的編程經驗。

在我的應用程序中,我創建了一個類來訪問DB記錄,我稱其爲DAO_DBrecords。該類包括創建新記錄,更新現有記錄等基本功能。目前,該類滿足我所有數據庫表的所有DAO需求。在函數中,我將一個表示DB表的字符串(users,articles等)作爲參數之一傳遞。

在這一點上我可以做的三兩件事之一:

  1. 使用這個類在我的節目無論記錄的類型(即表)我處理。
  2. 爲每種類型的記錄(例如DAO_Users)創建特定的類,該類從DAO_DBrecords繼承,但是否則爲空。
  3. 爲每種類型的記錄(例如DAO_Users)創建特定的類,該類從DAO_DBrecords繼承,並指定該類可以通過變量訪問的數據庫表(例如,private $table = 'users')。在父類中,變量將爲空或空字符串。

同樣,在這一點上,我沒有想到需要特定於表格的功能(但可能會改變)。

哪些(如果有的話)是正確的方法?

感謝,

JDelage

編輯:我已經編輯選項3,以前讀:
3.每種類型從DAO_DBrecords,並指定繼承記錄(例如,DAO_Users),創建特定的類類可以通過常量訪問的數據庫表(例如,const TABLE = 'users')。在父類中,該常量將爲空或空字符串。

回答

1

我會選擇第三個選項。在DAO_Users中,您最終可以將方法在用戶記錄本身上執行特定操作(例如,創建並存儲鹽漬密碼,發送驗證電子郵件,從數據庫中提取所有用戶的朋友作爲DAO_Users集合,獲取所有用戶的註釋等)。

通過這種方式,您既可以使用DAO模式,也可以通過操作目標在類中組織所有應用「操作」。

相關問題