类无需声明变量即可工作?

Max*_*nov 3 php oop

我学习了 php 作为函数式和过程语言。现在尝试开始以目标为导向的学习并得到一个重要的问题。

我有代码:

class car {

    function set_car($model) {
        $this->model = $model;
    }

    function check_model()
    {
        if($this->model == "Mercedes") echo "Good car";
    }

}

$mycar = new car;
$mycar->set_car("Mercedes");

echo $mycar->check_model();
Run Code Online (Sandbox Code Playgroud)

为什么它可以在没有声明 $model 的情况下工作?

var $model;一开始?

因为在 php 中,任何变量都可以“自动声明”?我被困住了

hak*_*kre 5

PHP 中的每个对象都可以获取成员而无需声明它们:

$mycar = new car;
$mycar->model = "Mercedes";
echo $mycar->check_model(); # Good car
Run Code Online (Sandbox Code Playgroud)

这是 PHP 的默认行为。这些都是公开的。参见手册