为什么要在类中初始化变量?

时间:2013-09-20 14:42:23

标签: php class variables initialization

为什么我必须在类中初始化变量?

$test = new myclass();
class myclass {
    private $var; // WHY THIS LINE?

    public function sayHello() {
        $this->var = 'hello';
        echo $this->var;
    }
}
$test -> sayHello();

当我删除private $var;行时,此示例也有效。

为什么我必须在类中初始化变量?

3 个答案:

答案 0 :(得分:10)

初始化变量有一些好处:

  • 您声明您有意使用变量名称。这可以帮助突出显示成为未声明的变量名称的拼写错误
  • 您可以设置变量的范围。您希望它是公开的,受保护的还是私人的?您可能希望它是静态的
  • PHP有一些关于你正在做什么的信息。它可能有助于优化以加快执行速度。

声明变量是一种好习惯,但这不是必需的。

答案 1 :(得分:0)

我不确定我是否理解你的问题,但我相信你的意思是为什么要使用额外的代码行,而整个代码在没有它的情况下工作正常。

答案是 - 当然你不必使用private $var;。但是,尽管它对PHP引擎无关紧要,但在代码增长时它对你非常有用。想象一下,你有一个长达几千行的课程。只检查每次在类中使用的许多变量中的哪一个(私有)以及可以在外面使用哪些变量( public )都将是一场灾难。如果您现在看不到它,请不要担心,我相信您很快就会发现它的效用;)

答案 2 :(得分:0)

如果您没有声明像private这样的访问说明符,则默认为public。