我在學習自己從基於函數的PHP編碼轉向OOP。這是情況:OOP初學者:classB擴展classA。 classA已經是對象。在classB中需要的方法.. etc
ClassA
包含許多基本的工具方法(功能)。它是__construct
進行數據庫連接。 ClassB
擁有基於特定活動的特定方法(提取小部件)。 ClassB
擴展爲ClassA
,因爲它使用了一些基本工具,例如數據庫調用。
在一個php文件中,我創建了一個$a_class = new ClassA
對象(因此創建了一個新的數據庫連接)。
現在我需要一個方法ClassB
。我做$b_class = new ClassB;
並調用一個方法,它使用的方法從它的parent::
ClassA
。
在這個例子中,我有ClassA
'used'兩次。曾經作爲對象,並通過呼叫parent::
,因此ClassA
創建另一個數據庫連接(或不?)。
那麼什麼是這個基本類父,子(擴展)情況的最佳設置?我只想做一個連接當然?我不喜歡把這個對象轉發給ClassB,像這樣$ b_class = new ClassB($ a_object);或者是最好的方法?
感謝您與我的思維,並幫助:d
嗨,歡迎來到SO !.這是一個設計問題,爲了幫助您,我們需要更多地瞭解您的問題域。只要描述你的課程就是這樣做的。 – user187291 2010-03-17 13:02:00
感謝大家的所有意見。我去設置一個'單身'$ classA = classA :: getInstance();在每個classB__construct中都有。我希望它能幫助正在閱讀本文的其他人。 :d – Yvo 2010-03-17 17:20:20