2011-01-19 60 views
1

我有真正的問題讓我身邊班頭,我希望有人能回答我的(很基本的!)問題替代從類中訪問類

我有一個MySQL類讓我建立一個mysql連接,執行查詢和其他相關的mysql函數。

我有一個父\子結構的數據庫設置,並有一個遞歸函數(我的createNode函數),它輸出一組反映父\子結構的嵌套列表。

createNode函數在每個遞歸實例化mysql類,以便從數據庫中查詢所需的數據。

理想情況下,我想把這個createNode函數放到一個類中,但我明白將一個類實例化到另一個類是不好的做法,但是我看不到任何解決方法。

如何構建我的類來解決此問題?

提前致謝!

+1

不,**這是不錯的做法**實例化另一個類中的類(請參閱工廠模式,每個示例)。但是,在這種情況下,您可以將MySQL類傳遞給NodeCreator類的構造函數。 – netcoder 2011-01-19 19:03:20

回答

3
class Noder { 
    private $_conn; 
    public function __construct($mysql_connection) 
    { 
    $this->_conn = $mysql_connection; 
    } 
    public function createNode() 
    { 
    // whatever you do 
    } 
} 
$mysql = new Mysql(); 
$noder = new Noder($mysql); 
+0

+1正如我在上面的評論中所說的那樣。 :)你也可以(也可能應該)鍵入提示到Mysql類型。 – netcoder 2011-01-19 19:05:50