一尘不染

什么时候应该在PHP类中声明变量?

php

我是OOP范式的新手,所以可能对此问题有一个简单的解释…

您是否总是需要在类中声明公共对象范围的变量?例如:

<?php

class TestClass
{
    var $declaredVar;

    function __construct()
    {
        $this->declaredVar = "I am a declared variable.";
        $this->undeclaredVar = "I wasn't declared, but I still work.";
    }

    function display()
    {
        echo $this->declaredVar . "<br />";
        echo $this->undeclaredVar;
        echo "<br /><br />"; 
    }
}

$test = new TestClass;
$test->display();

$test->declaredVar = "The declared variable was changed.";
$test->undeclaredVar = "The undeclared variable was changed.";

$test->display();

?>

在此代码中,即使$declaredVar是唯一声明的变量,$undeclaredVar也一样可访问和可用-似乎就像我将其声明为public一样。

如果未声明的类变量始终可以这样访问,那么将它们全部预先声明的意义何在?


阅读 287

收藏
2020-05-29

共1个答案

一尘不染

该变量不是未初始化的,只是未声明的。

在类定义中声明变量是提高可读性的一种方式。另外,您可以设置可访问性(私有或公共)。

无论如何,显式声明变量与OOP无关,它是特定于编程语言的。在Java中,您不能这样做,因为必须显式声明变量。

2020-05-29