Если у меня есть класс, который выглядит примерно так
class MyClass {
private $myvar;
public function __construct($myvar) {
$this->myvar = $myvar;
}
public function getMyVar() {
return $this->myvar;
}
public function __toString() {
return "from toString: " . $this->myvar;
}
}
И тогда я хочу использовать свой класс, как это
$myclass = new MyClass("myvar value");
echo "Embedded class into a string: $myclass";
Из приведенного выше кода я бы ожидал этот вывод
Embedded class into a string: from toString: myvar value
Это:
public function __toString() {
return "from toString: " . $this->myvar;
}
Так как $myvar
в объеме __toString
функция не определен.
Простая скрипка здесь https://3v4l.org/YFctl
Других решений пока нет …