2010-07-10 138 views

回答

2

如果你必須使用你的函數,一些已經設計錯誤內的全局變量。

甚至使用一些全局變量被認爲是不好的做法,使代碼不明顯。
和常量並不儘管「糟糕表現」謠言的虛假的解決方案

如果您需要使用許多變量的函數裏面,考慮陣列使用

$data = array("one","two","three"); 
$result = myfunc($data); 

簡單,可靠和可讀性

更詳細地解釋了這個函數做了什麼以及所有這些變量用於什麼,可以得到更精確的答案。

+0

那麼所有的配置變量呢?它們不是存儲在全局變量中嗎?我不認爲將配置變量放在全局變量中是錯誤設計的。 我相信我將不得不開始使用$ GLOBALS ['variable_name']方法。 – 2010-07-10 07:52:40

+0

@Basil配置變量應該排在第一位!所以,輸入單個'global $ cfg;'不會太傷你太多 – 2010-07-10 07:55:36

+0

+1全局變差,m'kay? – 2010-07-10 08:06:33

0

只是變量發送到函數,像這樣:

function yourfunction ($variable1, $variable2) { 
    ... 

    } 

//Call the function: 
yourfunction ($variable1, $variable2); 
0

單身人士可能值得考慮。另請參閱註冊表模式。

你也可以分解出全球到它自己的功能

這是非常非常基本的...
function do_stuff() {
$var = get_something();
//do more stuff
}

function get_something() {
return 'something';
}

當然你需要設置變量太多。對於某個物體或某物應該很容易。

相關問題