Re: [RFC] Simplified Array API for extensions

From: Date: Thu, 04 Apr 2013 10:39:21 +0000
Subject: Re: [RFC] Simplified Array API for extensions
References: 1 2 3 4  Groups: php.internals 
Request: Send a blank email to internals+get-66939@lists.php.net to get a copy of this message
On Wed, Apr 3, 2013 at 9:43 PM, Joe Watkins <krakjoe@php.net> wrote: > Hi Sara, > > A logical extension of this idea would be to drop _array_ and cover > objects too, one uniform everything API is very appealing, and way easier > to document properly. > > Something alone the lines of: > > static inline > zend_bool php_exists(zval *pzval, const char *key) { > switch (Z_TYPE(pzval)) { > case IS_ARRAY: > return zend_symtable_exists(Z_ARRVAL_**P(pzval), key, > strlen(key) + 1); > > default: { > if (Z_OBJ_HT_P(pzval)->has_**property) { > return Z_OBJ_HT_P(pzval)->has_**property( > pzval, key, strlen(key) + 1, 2 NULL TSRMLS_CC > ); > } else { > return zend_symtable_exists( > Z_OBJPROP_P(pzval), key, strlen(key) + 1); > } > } > } > } > > Just a thought .. > Strong -1 on anything that tries to treat objects as if they were arrays of properties. I think much damage has already been done by using object properties as an array in some places and we should not go further down that road. I have no problem with nice APIs for object properties access, but please, please do not mix both. Nikita

« previous php.internals (#66939) next »