Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在全局php变量中使用下划线_Php_Naming Conventions - Fatal编程技术网

在全局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
  • 我知道php在开始时使用单下划线表示超全局,双下划线表示魔术方法,所以不应该有任何冲突。还有什么会引起麻烦的吗?这样做是否因为其他原因被认为是不好的


    谢谢

    如果您真的认为需要全局状态,那么创建一个静态类怎么样

    class myVars {
    
      static property $var1;
    
    }
    

    这不会造成任何问题。为了便于键入,您可能只需要使用一个下划线

    在我的应用程序中,如果我必须引入这样的全局变量,我可以在函数内部和外部的许多脚本中使用这些全局变量,我会使用
    $globals
    ,因此很明显,所访问的变量是全局变量

    这也避免了使用
    global$somevar在函数中。但根据你使用它们的频率,打字要多得多


    这些值可能是或实际上是可变的吗?

    如果将它们视为常数,则使用: 定义(“常量名称”,值)

    如果它们是真正的全局变量,那么一个约定是:
    $mVariableName

    是的,使用globals被认为是不好的。也有一种适当的方式来实现同样的事情,而不必担心globals@zerkms:我认为OP询问的是下划线,而不是全局性的用法。。。但是,是的,环球都是坏消息!为什么全球人如此不受欢迎?据我所知,避免使用globals的唯一原因是避免命名冲突,还有其他原因可以避免吗?顺便说一句,我这样做的原因是存储一个数据库读取,它将在页面上几乎所有地方使用(用户信息),因此我认为读取一次并将其存储为全局文件是有意义的。全局文件的主要问题是您无法控制它。你不知道它在哪里被实例化,在哪里以及如何被修改。我完全忘记了php全局函数不包括在本地范围内,你可能为我以后节省了一些调试时间,谢谢!)太好了,我提到它是因为我已经多次成为它的受害者。这很容易忘记!