Re: PHP 5.2-dev "Cannot use array returned from foo::__get('bar') in write context"

From: Date: Wed, 19 Jul 2006 16:24:02 +0000
Subject: Re: PHP 5.2-dev "Cannot use array returned from foo::__get('bar') in write context"
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-24699@lists.php.net to get a copy of this message
But how is foreach() a write context? Unless you mean that someone uses foreach($f->bar as &$val) { .. }. Can we detect that though? -Andrei On Jul 19, 2006, at 8:22 AM, Dmitry Stogov wrote:
__get() never worked in write context proper. It just CAN NOT work proper, because __get() returns by value (zval*), but modification requires address (zval**). We have a lot of __get() related bugs because of this situation in bugs.php.net. Month ago Marcus disabled usage of __get() in write context and I am completely agree with him We cannot use E_STRICT for this error and then SIGSEGV. Thanks. Dmitry. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php


« previous php.internals (#24699) next »