2010-01-13 66 views
1

我覺得我是有經驗的程序員PHP程序員。我已經實施了一些更大的項目。現在我想在較小的一個上嘗試OOP PHP(數據庫導入/導出+用戶驗證框架)。由於我從來沒有在這樣的項目上嘗試過OOP,所以我在對象設計上遇到了問題。PHP框架OOP模型

我想實現框架的方式,我只需要創建一個對象的實例來使用整個框架。我也想保持代碼安排得很好,所以我不會爲所有方法/屬性實現一個類。

我怎麼能把一個大班分成幾個小班,讓他們組織起來(在更多的php文件中)?我想我將不得不實現一個基類,然後使用其他擴展它。但那樣我就會有許多小班,而不是大班。

你會如何解決這個問題?

我希望我解釋得很好。

感謝您的任何幫助。

回答

7

我已經寫了很多年並且維護了巨大的整體式庫,而且我離開它後更快樂。接受我的建議:將應用程序分解爲可能有意義的小類。這對組織以及內存使用很有幫助(一個巨大的PHP類定義會佔用大量內存,RAM是PHP腳本中的有限資源)。

使用PHP 5的autoloading機制僅加載當前上下文中需要的類。我覺得Zend Framework的組織和建造方式相當不錯。你可能想看看他們如何設計他們的類,以及他們如何組織框架中的大量功能。

至於如何組織工具和幫助對象和庫,我幾周前回到asked that question並得到了很好的反饋。實際上,我還沒有完成閱讀。

+0

Pekka,我愛你的答案,我注意到你在PHP標籤上非常活躍......我已經看到你在大多數問題中回答我自己會回答 - 只是更快。 :) – 2010-01-13 19:43:21

+0

乾杯雅各布!我想我已經遇到了幾個關於你的答案,它是相反的:) – 2010-01-13 19:46:19

+0

+1爲Zend框架的設計和體系結構。 – 2010-01-13 19:56:00