只有一个“全局”变量 - 正确实现


Only One "Global" variable - Implementing Correctly?

我将全局变量减少到只有一个。 注入一个只有一个变量和一个 getter 函数的类似乎有点奇怪,但我不想要任何隐式依赖项,我希望它们都是显式的和记录的。 此外,我只希望我授予访问权限的类可以访问"全局变量"。 所以从某种意义上说,它们不是全球性的。 需要重命名为共享。 LOAD_ON是我在多个类中唯一需要的变量。

这是在尝试遵守SOLID/DRY(不要重复自己)/OOP(面向对象编程)时实现"全局"变量的正确方法(最佳实践)吗?

<?php 
class GlobalClass
{
    private $LOAD_ON = 0;
    public function getLoad()
    {
        return $this->LOAD_ON;
    }
}

如果您只有 1 个"全局"并且不需要更改它,则常量是最佳实践。

define('LOAD_ON', 0);

以这种方式使用它

if(LOAD_ON === 0){
 ///...