2010-11-02 118 views
0

我目前正在處理一個管理用戶「授權」的類,並且由於用戶存儲在數據庫中,我需要從類內部訪問它。我發現這個Mysql類:http://github.com/JeffreyWay/PHP-MySQL-Database-Class/blob/master/MysqlDb.php訪問實例化的類方法

但是當我用mysql登錄信息實例化Mysql類。那我該如何使用其他類中的Mysql類的方法?

+0

我想你在說什麼是[擴展](http://php.net/manual/en/keyword.extends.php)MysqlDb類與你的類? – DrPerdix 2010-11-02 16:26:12

+0

我認爲不是。因爲我想包含更早實例化的mysql連接選項。 – Mikkel 2010-11-02 16:38:32

回答

1

您將需要添加對您的類中的MySQL對象的引用。

我建議通過MySQL的對象到你的構造和訪問它像這樣:

class MyClass 
{ 
    private $mysql; 

    function __construct($mysql) 
    { 
     $this->mysql = $mysql; 
    } 

    function foo() 
    { 
     $this->mysql->doSomething(); 
    } 
} 

然後,您可以用創建對象的實例:

$myobject = new MyClass($mysql); 
+0

這是正確的:http://pastebin.com/V3JtMMXw?它什麼也沒有返回 – Mikkel 2010-11-02 16:35:59

+0

看起來是正確的,如果你手動運行'SELECT * FROM users'你手動獲得任何結果? – 2010-11-02 16:38:50

+0

Ups尷尬..我選錯了表..感謝您的幫助! :d – Mikkel 2010-11-02 16:43:14

0

在你其他的你應該類請求Mysql類文件。創建一個ocject。並且您可以使用Mysql類的公共方法。

require 'path/Mysql.php'; 
$mysql = new Mysql(); 

$mysql->connect(); 

但是檢查Mysql類的方法是否公開。
如果有靜態方法 - 使用::而不是->

您可以創建__autoload函數並且不需要Mysql類。