Script failure after upgrade to PHP 5.2.1

software development

#1

Hey people :slight_smile:

I’m having some trouble with a little CMS system I have written, which worked perfectly before the upgrade to PHP 5.2.1 on DH. I cannot switch back to PHP4, as I use PHP5’s object-oriented features.

I get the following notices and errors:

Notice: Indirect modification of overloaded property Blog::$posts has no effect in /path/class/Blog.class.php on line 121

Notice: Undefined offset: 0 in /path/class/Blog.class.php on line 122

Fatal error: Call to a member function get_post() on a non-object in /path/class/Blog.class.php on line 122

By searching on Google, I have found out that the magic method __get() doesn’t return properties by reference anymore, so that’s probably why I get this error message. The problem is that I have used this property overloading feature quite extensively, and I don’t know how to fix my problems. These are the __get() and __set() methods in my class:

private function __get($name)
{
if (array_key_exists($name, $this->data))
{
return $this->data[$name];
}
return null;
}

private function __set($name, $value)
{
if (isset($this->data[$name]))
{
$this->data[$name] = $value;
}
}

One of the sites in question is http://mdev.dk , my techblog, although I don’t really feel that technically enlightened right now. :wink:

I hope somebody out there can help me. :slight_smile:

Cheers from Denmark


Like my help? Enter promo code 2FORME and you get the maximum off for your plan, minus 2$ - for me. :slight_smile:


#2

I think it might have something to do with the bug described at http://bugs.php.net/bug.php?id=39449 , but I am in doubt because that bug is marked fixed and closed…


Like my help? Enter promo code 2FORME and you get the maximum off for your plan, minus 2$ - for me. :slight_smile: