我目前正在處理一個管理用戶「授權」的類,並且由於用戶存儲在數據庫中,我需要從類內部訪問它。我發現這個Mysql類:http://github.com/JeffreyWay/PHP-MySQL-Database-Class/blob/master/MysqlDb.php訪問實例化的類方法
但是當我用mysql登錄信息實例化Mysql類。那我該如何使用其他類中的Mysql類的方法?
我目前正在處理一個管理用戶「授權」的類,並且由於用戶存儲在數據庫中,我需要從類內部訪問它。我發現這個Mysql類:http://github.com/JeffreyWay/PHP-MySQL-Database-Class/blob/master/MysqlDb.php訪問實例化的類方法
但是當我用mysql登錄信息實例化Mysql類。那我該如何使用其他類中的Mysql類的方法?
您將需要添加對您的類中的MySQL對象的引用。
我建議通過MySQL的對象到你的構造和訪問它像這樣:
class MyClass
{
private $mysql;
function __construct($mysql)
{
$this->mysql = $mysql;
}
function foo()
{
$this->mysql->doSomething();
}
}
然後,您可以用創建對象的實例:
$myobject = new MyClass($mysql);
在你其他的你應該類請求Mysql類文件。創建一個ocject。並且您可以使用Mysql
類的公共方法。
require 'path/Mysql.php';
$mysql = new Mysql();
$mysql->connect();
但是檢查Mysql類的方法是否公開。
如果有靜態方法 - 使用::
而不是->
。
您可以創建__autoload
函數並且不需要Mysql類。
我想你在說什麼是[擴展](http://php.net/manual/en/keyword.extends.php)MysqlDb類與你的類? – DrPerdix 2010-11-02 16:26:12
我認爲不是。因爲我想包含更早實例化的mysql連接選項。 – Mikkel 2010-11-02 16:38:32