2014-02-06 35 views
0

如果這是錯誤的地方,我很抱歉,但似乎因爲我的問題是相當概念化,很難瀏覽相關的打開主題。PHP OOP - 從一個類中的MySQL連接

無論如何,這是一個問題:我擁有一家小型電子商務公司(在巴西),我需要在一個地方跟蹤我所有的貨物,並且我想知道可能的延遲和其他發生的事件根據我自己的標準,我公司運送的產品。

郵政局提供類似於API的東西,我已經設法檢索與貨件相關的每個事件的所有信息。

我創建了一個數據庫,其中包括兩個表格:一個用於發貨本身(跟蹤代碼,目的地和其他東西),另一個用於發生的所有事件。

我也創建了兩個類,對應這兩個表:其中一個被稱爲貨物和其他事件(顯然)。我相信沒有必要創建第二個表格,因爲每次我從Post Office網站加載事件的頁面時,然而,這是我的第一個問題,我相信如果它的腳本運行速度會更快,每次都需要從互聯網上檢索所有這些數據,對嗎?除此之外,我認爲使用數據庫可以更容易地使用MySQL查詢來處理這些數據。這有任何意義嗎?

第三個也是最重要的問題是關於這些類的方法的實現。當腳本運行時,它會從貨件表中檢索數據,我不確定是否要從貨件類本身內部(內部)連接和檢索這些信息,或者如果我應該從外部連接並僅向類提供我的查詢結果,然後讓其完成。

我認爲從出貨類連接到數據庫使其不夠靈活(我不相信這應該在那裏處理),但是,看起來,起初,更容易創建一個方法連接到BD的類,循環查看結果(查詢其他表的數據以計算從現在到最後期限的天數),實例化(從類內部),並返回一個包含對象的數組以供進一步操作。這有意義嗎??

我真的不知道哪一個是「正確的」選項。

如果有人能幫我解決這個問題,我會讚賞的。

非常感謝。

回答

0

這是關於你的第三個問題......

我想你應該實現一個單獨的層(你可以說這另一個類),只要你的數據檢索而言..the原因是,這將是易於維護和可擴展(例如從上述類中檢索數據並將其用於另一個類中用於報告目的),並且您的貨件類只應實現您正在對通過上述類檢索的數據應用的業務邏輯。因此,通過這種方式,您可以構建兩個單獨的圖層,一個是模型圖層,另一個是控制器(有點遵循mvc方法),並且我認爲這是設計系統的正確方法。

+0

非常感謝你的男人。我知道,通過班級連接並不是一條可行的路,但我需要聽取別人的意見。 –

+0

非常感謝你。我知道通過課堂處理所有這些東西並不是我們要走的路,但我需要從別人那裏聽到它。 關於這一層,它是否應該特定創建以支持特定的類(如發貨),還是可以更通用?我已經有一個類來處理數據庫的東西,而另一個類似於你所建議的層,但我有一種感覺,也許我可以擴展它來爲每個類提供更具體的支持。它會太專業化嗎? 無論如何,非常感謝。我已經非常有幫助了。 –

+0

我認爲只要它可以擴展並且它的方法可以一次又一次地重複使用,它就沒有問題。未來如果你不得不擴展你的系統,你永遠不會知道你的系統設計課程中哪一個能幫助你。 –