php5 ООП метод __toString

IBSN

Новичок
php5 ООП метод __toString

поставил пхп5 ну нифига не могу понять на сайте http://php5.ru/php5/zend2 пример:
PHP:
<?php
class Foo {
   function __toString() {
       return "What ever";
   }
}

$obj = Foo;

$str = (string) $obj; // вызывается __toString()

echo $obj; // вызывается __toString()
?>
у меня выводит:
Foo

чуток раскинув мозгами поставил перед Foo new
стало выводить What ever

подскажите, я седня не обкурился ли :confused:
 

Profic

just Profic (PHP5 BetaTeam)
IBSN
Там не то написано :)
Ты на конфе не был? :) Видимо нет :)
Вот кусок из моего доклада
Перегруженное конвертирование объекта в строку

Новый метод __toString() позволяет перегрузить конвертирование объекта в строку. Однако следует учесть, что данный метод вызывается только, если объект встречается напрямую в echo или print, в остальных случаях вызывается стандартный обработчик.
PHP:
<?php
class Foo {
        function __toString () {
                return 'What ever';
        }
}

$o = new Foo ();

echo $o, "\n"; // __toString() вызывается
print $o; // __toString() также вызывается
echo "\n";

printf ("%s\n", $o); // __toString() НЕ вызывается
$str = (string) $o; // __toString() также НЕ вызывается
echo $str, "\n";
?>
Код:
What ever
What ever
Object id #1
Object id #1
Старый код c классами без метода с именем "__toString" должен работать без изменений.
ЗЫ. Только заметил, что оригинал был взят не с сайта zend-а. И очень зря :) Оригинал заведомо лучше *устаревшего* перевода :)
 

IBSN

Новичок
: ) да не был я на конфе : ) далеко слишком...
огромное спасибо : )
 

fixxxer

К.О.
Партнер клуба
Переводу на php5.ru уже скоро год, нефиг на него ориентироваться. Убрать его, чтоли.
 

IBSN

Новичок
fixxxer
Лучше убрать, либо заменить новым :) а то смысл ресурса?
 

fixxxer

К.О.
Партнер клуба
да руки не доходят блин.
так то многое сделать надо.

-~{}~ 04.10.04 20:05:

Profic
О, слу, мож твой доклад там разместить? (с) reserved ессно.
 

Profic

just Profic (PHP5 BetaTeam)
fixxxer
Если честно - не знаю, там во первых не весь перевод, а только касающееся ООП, а во вторых вроде, как в журнале это будет публиковаться или еще где-то - в php-conf дискусия была по этому поводу, но я не сильно понял чем она закончилась...
 
Сверху