RE: [PHP-DEV] PHP 5.2-dev "Cannot use array returned from foo::__get('bar') in write context"
| From: | Andi Gutmans | Date: | Thu, 20 Jul 2006 05:40:37 +0000 |
| Subject: | RE: [PHP-DEV] 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-24738@lists.php.net to get a copy of this message | ||
We were considering supporting a __getRef() method. You could implement
either or both of them and then the right thing would happen.
Dmitry, Marcus - Besides having to come to a decision about this, is there
any situation you guys discussed for which this would not work?
Thx.
Andi
> -----Original Message-----
> From: Dmitry Stogov [mailto:dmitry@zend.com]
> Sent: Wednesday, July 19, 2006 8:23 AM
> To: internals@lists.php.net
> Cc: Marcus Boerger; Andi Gutmans
> Subject: RE: [PHP-DEV] PHP 5.2-dev "Cannot use array returned
> from foo::__get('bar') in write context"
>
> __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.
>
>
>
>
>