It is worth noting that before PHP 5.2.0 the __toString method was only called when it was directly combined with echo() or print(). Since PHP 5.2.0, it is called in any string context (e.g. in printf() with %s modifier) but not in other types contexts (e.g. with %d modifier). Since PHP 5.2.0, converting objects without __toString method to string would cause E_RECOVERABLE_ERROR.

Comments

Posted by Thomas Weidner (thomas) on 2008-11-26T13:50:09.000+0000

I think this issue is already fixed in trunk/branch...
Line 885 is a require_once call which does no string conversion.

And any given Zend_Locale instance will be forced to string at line 846/847 by calling toString on the instance.

Can you please test it against trunk.
I can not reproduce it on Windows with 5.1.4

Posted by Ilya Gruzinov (shagren) on 2008-11-27T07:16:37.000+0000

Trunk now:

Time: 4 seconds

There was 1 failure:

1) testIsLocale(Zend_LocaleTest)
Failed asserting that is true.

FAILURES!
Tests: 29, Assertions: 189, Failures: 1.

Posted by Thomas Weidner (thomas) on 2008-11-27T07:21:03.000+0000

Ilva:
This failure is ZF-4992

Please to not throw together different issues.
This is useless and make only more work as it should.

And it just raises the time we need for fixing.

Posted by Thomas Weidner (thomas) on 2008-11-27T07:22:39.000+0000

So you are no longer getting the failure of this issue in your environment on trunk ?
Is that correct ?