有沒有辦法避免不得不在PHP中的函數內引用全局變量?有沒有辦法避免在PHP中的函數內引用全局變量?
我只是討厭對每個變量都使用'global'關鍵字,並且我被告知在PHP中使用常量(作爲替代方法)會嚴重影響性能。
有沒有辦法避免不得不在PHP中的函數內引用全局變量?有沒有辦法避免在PHP中的函數內引用全局變量?
我只是討厭對每個變量都使用'global'關鍵字,並且我被告知在PHP中使用常量(作爲替代方法)會嚴重影響性能。
如果你必須使用你的函數,一些已經設計錯誤內的全局變量。
甚至使用一些全局變量被認爲是不好的做法,使代碼不明顯。
和常量並不儘管「糟糕表現」謠言的虛假的解決方案
如果您需要使用許多變量的函數裏面,考慮陣列使用
$data = array("one","two","three");
$result = myfunc($data);
簡單,可靠和可讀性
更詳細地解釋了這個函數做了什麼以及所有這些變量用於什麼,可以得到更精確的答案。
您可以嘗試使用$GLOBALS
只是變量發送到函數,像這樣:
function yourfunction ($variable1, $variable2) {
...
}
//Call the function:
yourfunction ($variable1, $variable2);
單身人士可能值得考慮。另請參閱註冊表模式。
你也可以分解出全球到它自己的功能
這是非常非常基本的...
function do_stuff() {
$var = get_something();
//do more stuff
}
function get_something() {
return 'something';
}
當然你需要設置變量太多。對於某個物體或某物應該很容易。
那麼所有的配置變量呢?它們不是存儲在全局變量中嗎?我不認爲將配置變量放在全局變量中是錯誤設計的。 我相信我將不得不開始使用$ GLOBALS ['variable_name']方法。 – 2010-07-10 07:52:40
@Basil配置變量應該排在第一位!所以,輸入單個'global $ cfg;'不會太傷你太多 – 2010-07-10 07:55:36
+1全局變差,m'kay? – 2010-07-10 08:06:33