请考虑以下代码:
class foo {
function bar() {
$this->baz = 'hello there!';
}
}
$f = new foo;
$f->bar();
echo $f->baz; // hello there!
Run Code Online (Sandbox Code Playgroud)
为什么上面的代码有效?我的意思是我没有初始化的$baz变量,也是我不使用__get和__set魔术方法.我原以为它会给我错误,但似乎$baz已经创建并分配了public可见性.(顺便说一下,它确实在静态上下文中给出错误)
谁告诉你没有初始化,你已经通过语句初始化$this->baz = 'hello there!';
这是面向对象的概念如何工作.你声明一个类,为该类创建一个实例,然后访问该函数,最后在该成员函数中回显一个变量,这就是面向对象的工作方式......
| 归档时间: |
|
| 查看次数: |
96 次 |
| 最近记录: |