$ PHP中的这个变量

Ari*_*iod 1 php oop

我刚刚开始熟悉PHP的OO功能,我想问你关于$this变量的一些事情.首先,如果我使用$this关键字in 的类没有已定义的属性变量foo,这是否意味着使用以下代码:

$this->foo = 5;
echo $this->foo;
Run Code Online (Sandbox Code Playgroud)

foo在运行时在对象上创建属性,就像在JavaScript中一样?这个属性的知名度是多少?

Ben*_*mes 6

是的,这将创建foo属性,其可见性将是public(这是默认值).

你可以很容易地测试这个:

<?php
class Foo {
    public function setFoo($foo) {
        $this->foo = $foo;
    }
}

$f = new Foo();
$f->setFoo(5);
echo $f->foo;
Run Code Online (Sandbox Code Playgroud)

将打印5没有错误.