ID: 27833
Updated by: [EMAIL PROTECTED]
Reported By: steph dot fox at virgin dot net
-Status: Suspended
+Status: Assigned
Bug Type: Scripting Engine problem
-Operating System: win98
+Operating System: *
PHP Version: 5CVS-2004-04-02 (dev)
-Assigned To: andi
+Assigned To: helly
New Comment:
Derick said this was fixed in HEAD, needs to be merged to PHP_5_2
Previous Comments:
------------------------------------------------------------------------
[2004-04-03 12:24:11] [EMAIL PROTECTED]
In PHP 5.0 this won't be supported. __toString() will only be called
automatically if it's the only argument to echo/print. Note that this
does not affect internal extensions such as SimpleXML who require this
to work in order to be useful. The main problem with supporting
automatic __toString() calls is the fact that opcodes aren't reentrant
and it requires restructuring of some of the infrastructure of the
engine. Looking into this is on my TODO for post-stable 5.0. Can't
promise anything though.
------------------------------------------------------------------------
[2004-04-03 08:16:06] steph dot fox at virgin dot net
OK, I did my research now. Sadly run-tests doesn't work on win98 due
to the piping element, but I found that building PHP with
zend_std_cast_object_tostring included as part of the
std_object_handlers struct gets rid of all the issues & doesn't cause
any new issues in ext/simplexml's test batch. (I ran them manually).
Of course the other new extensions that use std_object_handlers might
be adversely affected, but it's override-able (no?).
It's such an easy fix (must be if I can find it!), I'm obviously
missing the reason that the cast_object property's currently set as
NULL. The internals list archives show a huge discussion on the
subject, most of which goes straight over my head. Just looking for
clarity now..
------------------------------------------------------------------------
[2004-04-02 03:19:53] steph dot fox at virgin dot net
erm, yes it does -
echo $obj; // works fine
echo (string) $obj; // fails
- but I thought that was _meant_ to fail currently :\
Andi, when you bogus this report, could you please clarify exactly what
should or shouldn't happen at this point? Docs need to reflect intended
behaviour too..
------------------------------------------------------------------------
[2004-04-02 03:13:58] [EMAIL PROTECTED]
It doesn't work without the concat either.
------------------------------------------------------------------------
[2004-04-02 02:01:51] [EMAIL PROTECTED]
The advertising is wrong. This method was changed in RC
1 to prevent some potential crashes. You can no longer
concat it. Hopefully this will be fixed in PHP 5.1.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/27833
--
Edit this bug report at http://bugs.php.net/?id=27833&edit=1