下面是我遇到的麻煩的一個非常基本的例子。PHP類範圍問題
現在爲什麼我必須使用$ session = new Session();在database.class.php文件,當我在我的系統中的文件被包含在一個方式,它已經可見了。
換句話說,我不能調用$ session = new Session();在任何其他類之外,爲了使它在其他類中工作,我必須調用在每個要使用它的類中創建會話類的新對象,我如何避免這種情況並使其工作,而無需這樣做?
// Session.class.php
class Session{
public function __construct()
{
session_start();
}
public function set($name, $value)
{
$_SESSION[$name] = $value;
}
}
...
// Database.class.php
class Database{
public static function mysql_query_2($query)
{
if ($session->get('user_role') == 10){
$_SESSION['queries']++;
}
return mysql_query($query);
}
}
我在任何地方都看不到'$ session = new Session();'。它可以幫助我們理解你的問題。 – MitMaro 2009-09-23 00:00:10
@MitMaro對不起,這個類是在腳本的其他地方啓動的,我只想開始它,但是這種方式現在要求我在每個使用另一個文件中的類的類文件中啓動它 – JasonDavis 2009-09-23 00:13:35