#27833 [Asn]: Concatenating overloaded objects fails
ID: 27833 Updated by: [EMAIL PROTECTED] Reported By: steph dot fox at virgin dot net Status: Assigned Bug Type: Scripting Engine problem Operating System: * PHP Version: 5CVS-2004-04-02 (dev) Assigned To: helly New Comment: Forget my last comment. Previous Comments: [2006-03-18 10:55:51] [EMAIL PROTECTED] Seems to work for PHP 5.1.3rc2-dev. [2006-01-06 15:35:04] [EMAIL PROTECTED] Derick said this was fixed in HEAD, needs to be merged to PHP_5_2 [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.. 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
#27833 [Asn]: Concatenating overloaded objects fails
ID: 27833 Updated by: [EMAIL PROTECTED] Reported By: steph dot fox at virgin dot net Status: Assigned Bug Type: Scripting Engine problem Operating System: * PHP Version: 5CVS-2004-04-02 (dev) Assigned To: helly New Comment: Seems to work for PHP 5.1.3rc2-dev. Previous Comments: [2006-01-06 15:35:04] [EMAIL PROTECTED] Derick said this was fixed in HEAD, needs to be merged to PHP_5_2 [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. 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
#27833 [Asn]: Concatenating overloaded objects fails
ID: 27833 Updated by: [EMAIL PROTECTED] Reported By: steph dot fox at virgin dot net Status: Assigned Bug Type: Zend Engine 2 problem Operating System: win98 PHP Version: 5CVS-2004-04-02 (dev) Assigned To: andi New Comment: 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. Previous Comments: [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. [2004-04-02 01:56:46] steph dot fox at virgin dot net Description: __toString() works more or less as currently advertised, until I try to concat it.. Reproduce code: --- Expected result: Blah Actual result: -- Object id #1 -- Edit this bug report at http://bugs.php.net/?id=27833&edit=1
#27833 [Asn]: Concatenating overloaded objects fails
ID: 27833 User updated by: steph dot fox at virgin dot net Reported By: steph dot fox at virgin dot net Status: Assigned Bug Type: Zend Engine 2 problem Operating System: win98 PHP Version: 5CVS-2004-04-02 (dev) Assigned To: andi New Comment: 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.. Previous Comments: [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. [2004-04-02 01:56:46] steph dot fox at virgin dot net Description: __toString() works more or less as currently advertised, until I try to concat it.. Reproduce code: --- Expected result: Blah Actual result: -- Object id #1 -- Edit this bug report at http://bugs.php.net/?id=27833&edit=1
#27833 [Asn]: Concatenating overloaded objects fails
ID: 27833 User updated by: steph dot fox at virgin dot net Reported By: steph dot fox at virgin dot net Status: Assigned Bug Type: Zend Engine 2 problem Operating System: win98 PHP Version: 5CVS-2004-04-02 (dev) Assigned To: andi New Comment: 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.. Previous Comments: [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. [2004-04-02 01:56:46] steph dot fox at virgin dot net Description: __toString() works more or less as currently advertised, until I try to concat it.. Reproduce code: --- Expected result: Blah Actual result: -- Object id #1 -- Edit this bug report at http://bugs.php.net/?id=27833&edit=1