Волшебный метод __set()

Люди добрые, помогите поставить точку в вопросе. Как и когда он работает? Если я все правильно понимаю, с его помощью можно контролировать любые передаваемые объекту данные, т.е. грубо говоря:

PHP:
class awesome {
    
    public $var;
    
    function __set($name, $value) {
        
        $this->name = strip_tags($value);
        
    }
    
}

$txt = "<strong>Привет, Мир!</strong>";
$obj = new awesome();
$obj->var = $txt;
echo $obj->var;
должен вывести "Привет, Мир!" без тегов, но в реальности ничего такого не происходит. Почему?

P.S. Гугл слишком противоречив.
 

~WR~

Новичок
Потому что $var не должен быть public. А protected или private.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Потому что для того, чтобы __set() сработал, $var вообще не должно быть.
 

С.

Продвинутый новичок
Неужели даже $this->name работает вместо положенного по уставу $this->$name ?
 
Сверху