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:
---------------
<?php
class Foo {
function __toString() {
return "Blah";
}
}
$obj = new Foo();
echo $obj."\n";
?>
Expected result:
----------------
Blah
Actual result:
--------------
Object id #1
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=27833&edit=1