2011-07-12 16 views
1

我的網站可讓用戶記錄遊戲玩法信息。OOP PHP - 由2個小類組成的課程

基本的數據庫單元是播放類,它包含播放日期,用戶標識,結果和戰鬥序列號。所有這些都是必需的數據點。

用戶也可以提交事後報告。 AAR類包含AAR標題,降價內容,HTML內容(降價後)以及它所描述的播放的UID。

用戶通過表單提交新劇本,並通過另一個菜單可以將AAR添加到他們擁有的任何現有劇本中。

我感覺非常有組織。

然而,查看網站的遊戲結果時,我幾乎總是需要列出所有數據一起的......

戰役號 球員 播放日期 結果 AAR標題 AAR身體

所以我坐在這裏看着我兩個組織良好,意義非常明確的班級,並且很難想象出讓我團結起來的「缺失環節」。

首先,我寫了一個aarLoader,根據所需的變量(比如約翰扮演的)打出所有AAR的數據庫,並將它們粘貼到一個主數組中,然後可以通過另一種方法列出。然而,AAR本身並不包含足夠的數據 - 他們不會告訴你誰,何時,誰,誰贏了。

所以看起來我需要創建某種「記錄」類來連接我的遊戲和AAR類。似乎合乎邏輯,但是當我創建該文件時,我的腦子只是空白。

這樣的班級有什麼特性?數組?但是這個陣列需要持有一個遊戲和AAR對...有時候(有些遊戲沒有匹配的AAR)。

讀了這麼多以後,我虛心地問一個OOP的大師請給我一些關於如何解決這個問題的建議。

(上述所有假設我是正確的在不壓扁的戲劇和AARS到同一類,因爲它們創造並單獨修改,而且由於AARS是可選的...)

+0

您是否正在考慮AAR是您的課程的一個子實體?基本上它可以是一個可選的遊戲屬性,對嗎?播放 - > AAR? – Jordan

+0

當然可以。 (我試圖從程序轉換到OOP)但是我認爲把它分開會更好......? – Drew

+0

每場比賽你有多個AAR嗎?AAR是否在你的應用中做過其他事情?或者他們總是被綁定到一個遊戲中?如果兩者的答案都是否定的,那麼你也可以將AAR與該劇結合起來。 – Jordan

回答

2

這裏是我會做什麼:

首先,只需添加的目前是什麼讓你的AAR類到播放類的屬性:

Play 
    -> Battle Number 
    -> Player 
    -> Play Date (Barbies included?) 
    -> Result 
    -> After Action Title (nullable) 
    -> After Action Report (nullable) 

這完全符合了你的數據庫表,從而使AAR領域也只是可空只能作爲a輸入的字段n每當你保存AAR賽後都會更新。

這意味着優點便於數據庫查詢,更新容易,以及一個非常簡單的數據庫架構。