我打算揭露一些常見的變量在我的劇本全局,我想知道如果下面的命名方案將被認爲是不好的想法:用單下劃線開頭全球PHP變量
- 和
$_some_var_
- 使用三重底線在像開頭::像結束
$___some_var
我知道PHP使用單下劃線開頭的超全局變量和雙下劃線的魔術方法,所以日不應該有任何衝突。還有什麼可能會導致麻煩?這是否因爲其他原因而被認爲是不好的?
謝謝!
我打算揭露一些常見的變量在我的劇本全局,我想知道如果下面的命名方案將被認爲是不好的想法:用單下劃線開頭全球PHP變量
$_some_var_
$___some_var
我知道PHP使用單下劃線開頭的超全局變量和雙下劃線的魔術方法,所以日不應該有任何衝突。還有什麼可能會導致麻煩?這是否因爲其他原因而被認爲是不好的?
謝謝!
這樣不會引起任何問題。爲了便於打字,您可能只想使用單下劃線。在我的應用程序中,如果我必須引入這樣的全局變量,我可以在函數內部和外部的許多腳本中使用這些全局變量,我使用$GLOBALS
superglobal,因此很顯然,被訪問的變量是全局變量。
這也節省了必須在功能中使用global $somevar;
。但是,根據您使用它們的頻率,它的輸入更多。
可能的值是constants還是它們實際上是可變的?
如果你真的認爲你需要全局狀態,那麼如何創建一個靜態類呢?
class myVars {
static property $var1;
}
如果他們被視爲常數然後使用: 定義(「CONSTANT_NAME」,值)
如果他們是真正的全局變量,那麼一個約定是: $ mVariableName
是,使用全局變量被認爲是不好的。也有一個*適當的*方式實現相同的東西,而不用全局變量 – zerkms
@zerkms:我認爲OP是詢問下劃線,而不是全局的用法......但是,全局變量是不好的! –
爲什麼globals如此皺眉?根據我的理解,避免使用全局變量的唯一原因是爲了避免命名衝突,是否有其他原因可以避免?順便說一句,我這樣做的原因是存儲數據庫讀取,將在網頁(用戶信息)幾乎所有地方使用,所以我認爲這是有道理的閱讀一次,並將其存儲爲全球。 – Peter