zerkms
который, к тому же, не содержит стектрейс, жутко необходимый мне для помещения в логи и дальнейшего изучения.
Омг, что значит не содержит? А если посмотреть внимательнее код, что я привел?
zerkms
что следует из того, что до 5.2 он использовался только совместо с echo и print?
Из этого следует что Ваши познания крайне недостаточны, как для того, кто претендует быть php-разработчиком.
Ни [m]echo[/m], ни [m]print[/m] не являются функциями и их механизм работы отличается.
zerkms
"судя по всему" или точно? сударь, вы уж определитесь
Сударь, Вы ожидаете что я стоял со свечкой? Разочарую - со свечкой не стоял, исходники не смотрел.
Но моих знаний и опыта 1 года работы с PHP более чем достаточно для понимания ситуации без конкретного копания в исходниках.
Если Ваш опыт Вам этого не позволяет, то сочувствую Вам.
zerkms
в мануале явно этого не описано. свои эротические фантазии по этому поводу и самозаключениями можешь поделиться с комитетом спортлото.
Точно? Вы абсолютно уверены, что это не описано в мануале?
Странно, почему он с Вами в этом не согласен?
http://php.net/manual/en/migration52.incompatible.php
И если Ваши знания не позволили Вам это прочитать, то предлагаю начать с букваря.
Когда выучите буквы тогда будете писать о моих эротических фантазиях.
Changed __toString() to be called wherever applicable. The magic method __toString() will now be called in a string context, that is, anywhere an object is used as a string. The fallback of returning a string that contains the object identifier was dropped in PHP 5.2.0. It became problematic because an object identifier cannot be considered unique. This change will mean that your application is flawed if you have relied on the object identifier as a return value. An attempt to use that value as a string will now result in a catchable fatal error.
PHP:
<?php
class foo {}
$foo = new foo;
print $foo;
/* Catchable fatal error: Object of class foo could
not be converted to string in filename on line n */
?>
Even with __toString(), objects cannot be used as array indices or keys. We may add built-in hash support for this at a later date, but as of PHP 5.2.x you will need to either provide your own hashing or use the new SPL function spl_object_hash(). Exceptions can not be thrown from __toString() methods.
PHP:
<?php
class foo {
public function __toString() {
throw new Exception;
}
}
try {
print new foo;
/* Fatal error: Method foo::__toString() must
not throw an exception in filename on line n */
} catch(Exception $e) {}
?>
Вот от кого не ожидал поведения школьника с спермотоксикозом, так это от Вас -
zerkms