Php\uuu获得神奇的方法

Php\uuu获得神奇的方法,php,oop,Php,Oop,我是PHP新手。在下面的代码中,当我将private$name更改为public$name时,不会显示名称“Harry”。我想不出来 class Post{ public $name; public function __set($name,$value){ echo $this->name=$value; } } $post=new Post; $post->name="Harry"; 只有当属性不存在或不可访问时才使用Magic getter和s

我是PHP新手。在下面的代码中,当我将private
$name
更改为public
$name
时,不会显示名称“Harry”。我想不出来

class Post{
public $name;
    public function __set($name,$value){
        echo $this->name=$value;
    }
}
$post=new Post;
$post->name="Harry";

只有当属性不存在或不可访问时才使用Magic getter和setter,这称为属性重载


由于无法从类外部访问
私有$name
,因此它正在使用您的magic setter。由于可以从类外部访问
public$name
,因此它只会设置该属性的值。

只有当属性不存在或不可访问时才使用Magic getter和setter,这称为属性重载


由于无法从类外部访问
私有$name
,因此它正在使用您的magic setter。由于可以从类外部访问
public$name
,因此它将只设置该属性的值。

这与_uget有什么关系?这与_get有什么关系?