Hello Brandon,

  create_object is your new handler that is supposed to deliver an empty
object. You cannot have this NULL. The __construct part allows to define
what the actual constructor does afterwards. Forcing __construct to be
called is a bit more complicated but a bunch of exts already do so. Check
out pdo on that.

regards
marcus

Wednesday, May 3, 2006, 8:24:41 AM, you wrote:

> When registering a new class, what are the consequences of setting
> zend_class_entry.create_object = NULL? INIT_CLASS_ENTRY() defaults it to
> NULL, but the tutorial I'm looking at sets it to the address of a function 
> immediately afterwards.

> My concern is that setting this allows the engine to call a
> constructor-like-function behind my back. I'd rather handle such things
> while handling calls to new(). Is that possible? Is it even a good idea?

> The tutorial code provides a function for zend_class_entry.create_object
> that returns a populated zend_object_value. Presumably that's a useful
> thing to do, and if I don't have a function there I would need to find
> some other means of supplying the zend_object_value to the engine. Can I do 
> that in a new() handler? How?




Best regards,
 Marcus

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

Reply via email to