在非静态函数中访问静态变量被认为是不良编码?

时间:2016-07-25 10:31:07

标签: php

这是我正在研究的一个例子,并不知道它是否被认为是错误的编码?

class CounterClass
{
    private $counter = 0;
    static $counterOverall = 0;

   function CountUp()
   {
      $this->$counter++;
      self::$counterOverall++;
   }

}

2 个答案:

答案 0 :(得分:1)

没有任何内在的"坏"关于从非静态方法访问静态变量。就其本身而言,它是一种完全可以接受的做法。

与软件工程中的大多数事情一样,它只是一种工具,有时对于手头的工作来说是完美的,而在其他情况下却是一个糟糕的选择。由程序员决定何时最好使用它。

答案 1 :(得分:0)

我没有看到任何有理由将此代码归入" bad"类别。 使用static为您提供所有类实例的共享内存,这正是您在这种情况下所需要的。我希望这有帮助!