__get和__set代码有问题

Tar*_*rik 1 php

我不知道我在哪里做错了.有人能告诉我吗?

<?php 
    class something
    {
        public $attr1;
        private $attr2;

        public function __get($name)
        {
            return $this->$name;
        }

        public function __set($name,$value)
        {
            $this->$name = $value." added something more";
        }
    }

    $a = new something();

    $a->$attr1 = "attr1";
    $a->$attr2 = "attr2";

    echo $a->$attr1; //what I would expect is attr1 as output
    echo $a->$attr2; //what I would expect is attr2 added something more as output
?>
Run Code Online (Sandbox Code Playgroud)

Tim*_*per 6

$访问对象属性时删除多个实例:

$a->$attr1 = "attr1";          $a->attr1 = "attr1";
$a->$attr2 = "attr2";          $a->attr2 = "attr2";

echo $a->$attr1;               echo $a->attr1;
echo $a->$attr2;               echo $a->attr2;
Run Code Online (Sandbox Code Playgroud)