我刚刚开始熟悉PHP的OO功能,我想问你关于$this
变量的一些事情.首先,如果我使用$this
关键字in 的类没有已定义的属性变量foo
,这是否意味着使用以下代码:
$this->foo = 5;
echo $this->foo;
Run Code Online (Sandbox Code Playgroud)
将foo
在运行时在对象上创建属性,就像在JavaScript中一样?这个属性的知名度是多少?
是的,这将创建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没有错误.