我有一個好奇的問題,我正在將一個現有的應用程序導入到我的項目中。允許從類方法訪問包含文件中的全局變量
我有一個類有一個方法,需要在其中的功能的文件。這些函數使我們具有全局變量。
我注意到這些函數不能在它們之間共享一個全局變量,因爲它們是從類方法中調用的。
我知道如果我第一次聲明全局變量,那麼需要包含的函數可以使用它們的文件。我的問題是這些包含自己函數的文件有100個全局變量引用。瀏覽所有文件並重新聲明全局變量將非常耗時。
有沒有更直接的方法來做到這一點?
例子是
//class file
class run
{
public function install()
{
require_once('file.php);
}
}
//file.php
require('some/other/file.php);
function checks() {
global $someVar;
$somVar->test();
}
這顯然會拋出一個錯誤,如無法訪問測試(),以非對象的東西的東西,除非我內run::install()
這就是爲什麼你應該(幾乎)從不使用全局變量 – galymzhan
是,但我正在導入一個現有的應用程序,使用它們。 – Eli
全球狀態真的很糟糕!你應該避免它,把你的方法需要的變量作爲參數傳遞(我看到你提到你正在嘗試將新代碼集成到傳統應用程序中,但你的新代碼可以使用參數而不是訴諸於全局)。 – GordonM