get — методы PHP Magic __get

Я немного растерялся, когда вызывается магический метод __get.
Вот небольшой пример

class Test {public function __get($name) {
echo $name;
}

}

$a = new Test;

echo 'a '.$a->b.' c';

Он выдает «ba c», хотя я ожидал получить «a b c»

-2

Решение

ну, потому что ты звонишь другому echo до того, как позвонили кейли.

class Test {public function __get($name) {
return $name;
}

}

$a = new Test;

echo 'a '.$a->b.' c';

Помните, порядок исполнения. Оператор выполняется, когда все вызовы функций внутри этой функции выполнены. В вашем коде echo 'a '.$a->b.' c'; исполняется только после $a->b выполняется в исходном коде $a->b является эхо-вместо этого вводится имя свойства возврате это его кале.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]