Marcus and I briefly discussed creating properties that are arrays in this thread:
--> http://www.zend.com/lists/php-dev/200405/msg00221.html


I posted some code that was working for me, but perhaps it has problems?

David

Andi Gutmans wrote:

At 11:01 PM 7/21/2004 -0700, Andrei Zmievski wrote:

Hi,

I saw this in zend_opcode.c zend_cleanup_class_data():

/* Note that only run-time accessed data need to be cleaned up,
* pre-defined data can not contain objects and thus are not probelmatic */


Which lead me to look into zend_declare_property() and I noticed that
you cannot declare properties that are objects/arrays/resources. Is
there a good reason for disallowing extension authors to do that?


The problem is that objects and resources can't really stay alive in between requests because those mechanisms are shutdown at rshutdown. Arrays also can't stay alive because they need to be emalloc()'ed or they won't work with the engine. I think it'd be quite complex to change this behavior and the work around probably needs to be in the extension depending on how bad it is to recreate these or somehow cache them for rinit.

Alternatively, do you suggest using zend_hash_update() on class
properties even though I really need this property to be static so its
shared by all instances of the class?


If these are per-request statics it can probably be solved.

Andi


-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to