why uninitialized property is made public in class?

后端 未结 3 1598
囚心锁ツ
囚心锁ツ 2021-01-26 03:28

Consider below code please:

class foo {
    function bar() {
        $this->baz = \'hello there!\';
    }
}

$f = new foo;
$f->bar();
echo $f->baz; // h         


        
3条回答
  •  孤城傲影
    2021-01-26 03:36

    It's because how PHP works. If you set uninitialized property, it will be created even without __set. On the other hand, if you try to read uninitialized property, you end with warning.

提交回复
热议问题