метод to string

Метод __toString ()

Допустим, мы хотим вывести значение объекта таким методом:

class A {
}
$o = new A();
echo $o;//echo всегда конвертирует значение в строку

Ничего не получится, выскочит ошибка (объект класса невозможно конвертировать в строку). Хотя в старых версиях php этот код работал. Просто удобно, кратко и понятно.

Но для этих целей есть метод __toString. И если у нас идет попытка конвертации объекта в строку (используется конструкция echo), то перед тем как выдать ошибку, php ищет метод __toString. Если он существует, то запускается автоматом. Пример:

class MyClass {
function __toString(){
return 'Вызван метод __toString()';}
}
$obj = new MyClass();
// Вызван метод __toString()
echo $obj;



Добавить комментарий

Ваш e-mail не будет опубликован.