只有一个“全球”变量 - 正确实施?

时间:2012-04-19 18:59:40

标签: php

我将全局变量减少到只有一个。注入一个只有一个变量和一个getter函数的类似乎有点奇怪,但我不想要任何隐式依赖,我希望它们都是明确的并且有文档记录。此外,我只希望我可以访问的类可以访问“全局”。从某种意义上说,它们不是全球性的。需要重命名才能共享。 LOAD_ON是我在多个类中唯一需要的变量。

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

<?php 

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

1 个答案:

答案 0 :(得分:1)

如果你只有1'全局'并且不需要改变它,常量是最好的做法。

define('LOAD_ON', 0);

以这种方式使用

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