#27833 [Asn->Csd]: Concatenating overloaded objects fails (works in PHP6, but not in 5.1)

From: Date: Thu, 24 Aug 2006 16:46:35 +0000
Subject: #27833 [Asn->Csd]: Concatenating overloaded objects fails (works in PHP6, but not in 5.1)
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-101296@lists.php.net to get a copy of this message
ID: 27833 Updated by: tony2001@php.net Reported By: steph dot fox at virgin dot net -Status: Assigned +Status: Closed Bug Type: Scripting Engine problem Operating System: * PHP Version: 5CVS-2004-04-02 (dev) Assigned To: helly New Comment: Implemented in 5_2, won't be backported to 5_1. Previous Comments: ------------------------------------------------------------------------ [2006-03-18 10:57:26] nohn@php.net Forget my last comment. ------------------------------------------------------------------------ [2006-03-18 10:55:51] nohn@php.net Seems to work for PHP 5.1.3rc2-dev. ------------------------------------------------------------------------ [2006-01-06 15:35:04] sniper@php.net Derick said this was fixed in HEAD, needs to be merged to PHP_5_2 ------------------------------------------------------------------------ [2004-04-03 12:24:11] andi@php.net 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.. ------------------------------------------------------------------------ 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

« previous php.bugs (#101296) next »