什麼是訪問變量超出範圍,最好的辦法,看看我現在的方法:PHP:超出範圍的變量訪問
// Define API
require_once('api.php');
global $myapi;
$myapi = new LazyAPI('My API', 'myapi');
class Content {
function DoAction() {
global $myapi;
$key = $myapi->someFunc() . "-key";
}
}
$content = $myapi->Content(); // LazyAPI is a class that loads classes in other files using reflection
$content->DoAction();
我面對(和我無法測試,直到進一步的)問題在其他文件中重新聲明或重新使用$myapi
。我只使用了global
訪問修飾符,因爲我知道它是有效的,我不知道是否有更好的選擇。這個想法是能夠聲明多個$myapi
變量,並且只能在主文件的範圍內訪問。
糾正我,如果我錯了。但是不能只在頂部執行'require_once()'並在函數'DoAction()'中實例化api嗎? – Tuan 2013-04-25 00:57:42
'$ myapi'用於多個類。 – 2013-04-25 00:58:45
我認爲你正在尋找單身模式。創建一個工廠類,無論您需要它,它都會返回'$ myapi'的相同實例。 – Tuan 2013-04-25 01:01:57