在全局php变量中使用下划线
我计划在我的脚本中将一些常见变量公开为全局变量,我想知道以下命名方案是否会被视为坏主意:在全局php变量中使用下划线,php,naming-conventions,Php,Naming Conventions,我计划在我的脚本中将一些常见变量公开为全局变量,我想知道以下命名方案是否会被视为坏主意: 在开头和结尾使用单下划线,如:$\u some\u var\u 在开头使用三重下划线,如:$\uuuuuuuuuuuvar 我知道php在开始时使用单下划线表示超全局,双下划线表示魔术方法,所以不应该有任何冲突。还有什么会引起麻烦的吗?这样做是否因为其他原因被认为是不好的 谢谢 如果您真的认为需要全局状态,那么创建一个静态类怎么样 class myVars { static property $var
$\u some\u var\u
$\uuuuuuuuuuuvar
谢谢 如果您真的认为需要全局状态,那么创建一个静态类怎么样
class myVars {
static property $var1;
}
这不会造成任何问题。为了便于键入,您可能只需要使用一个下划线 在我的应用程序中,如果我必须引入这样的全局变量,我可以在函数内部和外部的许多脚本中使用这些全局变量,我会使用
$globals
,因此很明显,所访问的变量是全局变量
这也避免了使用global$somevar代码>在函数中。但根据你使用它们的频率,打字要多得多
这些值可能是或实际上是可变的吗?如果将它们视为常数,则使用:
定义(“常量名称”,值)
如果它们是真正的全局变量,那么一个约定是:
$mVariableName是的,使用globals被认为是不好的。也有一种适当的方式来实现同样的事情,而不必担心globals@zerkms:我认为OP询问的是下划线,而不是全局性的用法。。。但是,是的,环球都是坏消息!为什么全球人如此不受欢迎?据我所知,避免使用globals的唯一原因是避免命名冲突,还有其他原因可以避免吗?顺便说一句,我这样做的原因是存储一个数据库读取,它将在页面上几乎所有地方使用(用户信息),因此我认为读取一次并将其存储为全局文件是有意义的。全局文件的主要问题是您无法控制它。你不知道它在哪里被实例化,在哪里以及如何被修改。我完全忘记了php全局函数不包括在本地范围内,你可能为我以后节省了一些调试时间,谢谢!)太好了,我提到它是因为我已经多次成为它的受害者。这很容易忘记!