Ok, its still the same 5.2.0 problem, I'll get with gavin and see what
solutions he has found to this bug in PHP.
Essentially, the guys as php decided to start returning things by value
instead of references (from what I understand), which means
Class::__set($n,$v); calls when called from something like
$s->property[] = something, the part before the [] needs to be
dereferenced.. Which they used to do, and now are not.
Will get back later with some results, even if its a note that says its
not possible in PHP 5.2.0
-Ralph
Philip Iezzi wrote:
Thanks Ralph
It won't work yet on PHP 5.2.0 yet.
On a Windows box I'm getting the following notice:
Notice: Indirect modification of overloaded property Zend_Session::$default has
no effect in FlashMessage.php on line 87
On a Unix box I'm not getting any notice at all, hasMessages() returns true and
getMessages() is kinda empty...
FlashMessage Object ( [_namespace:protected] => default )
On both systems I have set error_reporting(E_ALL)
pretty weird.
Cheers,
philip
Ralph Schindler wrote:
Philip Iezzi wrote:
Notice: Indirect modification of overloaded property
Zend_Session::$default has no effect in FlashMessage.php on line 42
line 42 (in add()):
self::$_session->{$namespace}[] = $message;
It didn't work with Matthew's hack either...
http://weierophinney.net/matthew/archives/131-Overloading-arrays-in-PHP-5.2.0.html
I did fix and tested and commented..
http://svn.ralphschindler.com/repo/ZendFramework/library/FlashMessage.php
please let me konw what you think. This is a standalone version of
FlashMessaging.. Ideally, there are aspects of this that should be
dispatched from other areas, specifically Zend_Controller_Action, and
from Zend_View_Helper..
But I will address that within the next 2 days as I propose
Zend_Controller_Action_Helper. Having a component like that would allow
for an easier and more seemless integration of FlashMessageing and other
such related composite components.
Also, I am pretty sure this shoudl work even in PHP 5.2.0* even due to
its brokenness.
Cheers, and let me know what you think!
-ralph