Поведение функции __ get () в php

Я пытался найти последовательность, в которой магические методы вызываются в PHP. Поэтому была написана очень простая программа

class testme
{
    public $var1;
    /*function __construct()
    {
        echo'<br/> Constructor called';
    }*/
      public function __set($name, $value)
    {
        echo'<br/> You are in sssset function';
    }
    public function __call($method,$arg)
    {
        echo '<br/> call method';
    }
    public function __get($name)
    {
        echo'<br/> You are in get function';
    }
    public function __isset($name)
    {
        echo'<br/> You are in isset function';
    }
    public function __unset($name)
    {
        echo'<br/> You are in unset function';
    }   
       function __destruct() {
       print "<br/>Destroying " . $this->name . "\n";
   }
}
$obj = new testme;
$obj->var1=5;

. Ожидаемый результат был

You are in set function
Destroying 

Получение:

You are in get function
Destroying 

$ obj-> var1 = 5 Здесь я устанавливаю значение для класса var, тогда почему он вызывает __ get . Что здесь не так?

5
задан Tim Cooper 25 April 2011 в 13:02
поделиться