magic __toString

diamond_krnl

pure-php
magic __toString

код:
PHP:
<?php
class Foo
{
  var $bar = "hello world";
  function __toString()
  {
    return strval($this->bar);
  }
}
$v = new Foo;
echo "PHP: ", phpversion(), "<br /><br />";
echo $v, "<br />";
echo strval($v), "<br />";
echo (string)$v, "<br />";
settype($v, "string");
echo (string)$v, "<br />";
?>
получаем:
PHP: 5.1.2

hello world
Object id #1
Object id #1
Object

не пойму зачем нужен это магический метод, если вызвать его можно только явно?
 

Zetruger

ivan.chistyakov.name
It is worth noting that before PHP 5.2.0 the __toString method was only called when it was directly combined with echo() or print().
 
Сверху