何时应在 PHP 类中声明变量?

2022-08-30 09:52:44

我是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

如果未声明的类变量总是可以像这样访问的,那么预先声明它们有什么意义呢?


答案 1

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

在类定义中声明变量是提高可读性的样式点。此外,您还可以设置辅助功能(私人或公共)。

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


答案 2

如果您在类中声明一个成员,则可以设置其可访问性,例如

private $varname;

推荐