我打算揭露一些常见的变量在我的剧本全局,我想知道如果下面的命名方案将被认为是不好的想法:用单下划线开头全球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