Can you add a default __toString() for all objects (which don't extend or
implement a __toString()) then? Because at least then we could use $str =
$anyobj->__toString(). Otherwise I don't think __toString() has any real
functionality, except for print and echo...

Jevon

----- Original Message ----- 
From: "Marcus Boerger" <[EMAIL PROTECTED]>
To: "David Giffin" <[EMAIL PROTECTED]>
Cc: "Marcus Boerger" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Friday, April 02, 2004 12:27 PM
Subject: Re: [PHP-DEV] __toString() with cast is broken in php5 RC1


> Hello David,
>
> generally the idea is to change this back. But i don't think we will
> be able to solve the related problems before PHP 5.1.
>
> marcus
>
> Friday, April 2, 2004, 2:03:38 AM, you wrote:
>
>
> > Hi Marcus,
>
> > Is this going to change back? The php5 documentation on the zend site
> > shows that both casting and print/echo should work.
>
> > I guess people could use the output buffering methods to get the print
> > data for the time being. A not so happy work around :(
>
> > Thanks again,
> > David
>
>
> > On Fri, 2 Apr 2004, Marcus Boerger wrote:
>
> >> Hello David,
> >>
> >> that's correct.      See the NEWS file, 3rd entry:
> >>
> >> 18 March 2004, PHP 5 Release Candidate 1
> >> - Fixed numerous bugs with the just-in-time auto-global initialization,
that
> >>   could cause $_SERVER, $argv/$argc and other variables not to work
properly.
> >>   (Zeev)
> >> - Fixed data corruption with constant assignments to object properties.
(Zeev)
> >> - Changed __toString() to be called automatically only with print and
echo
> >>   statements. (Andi)
> >>
> >> Friday, April 2, 2004, 1:13:28 AM, you wrote:
> >>
> >>
> >> > Hi There,
> >>
> >> > I just got a chance tp update to PHP5 RC1 and noticed that some
things
> >> > have changed for the __toString method. It seems that it it only
getting
> >> > called when the object is printed or echo. Casting the object to a
string
> >> > returns the Object #. Here is an example:
> >>
> >>
> >>
> >> > ---- The Script:
> >>
> >> > <?php
> >>
> >> > class obj
> >> > {
> >> >         function __toString()
> >> >         {
> >> >                 return "yo!!\n";
> >> >         }
> >> > }
> >>
> >> > $obj = new obj();
> >> > print_r($obj);
> >>
> >> > $test = (string) $obj;
> >>
> >> > print $test;
> >> > print $obj;
> >>
> >> ?>>
> >>
> >> > ----- Produces:
> >>
> >> > obj Object
> >> > (
> >> > )
> >> > Object id #1yo!!
>
> -- 
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to