Re: Getting parent constructor called in a class chain - PHP 4.3.4 C extension

From: Date: Wed, 03 Mar 2004 10:38:07 +0000
Subject: Re: Getting parent constructor called in a class chain - PHP 4.3.4 C extension
References: 1 2  Groups: php.internals 
Request: Send a blank email to internals+get-8338@lists.php.net to get a copy of this message
Yiihaa, it does work! Thanks a million! ----- Original Message ----- From: "Derick Rethans" <derick@php.net> To: "Erkka Marjakangas" <ede@iki.fi> Cc: <internals@lists.php.net> Sent: Wednesday, March 03, 2004 11:58 AM Subject: Re: [PHP-DEV] Getting parent constructor called in a class chain - PHP 4.3.4 C extension > On Wed, 3 Mar 2004, Erkka Marjakangas wrote: > > > Hello! > > > > Not sure if this is the most proper place for discussing PHP > > extensions, so blame me if I'm in a totally wrong place here ;-) > > It is :) > > > How do I tell PHP (4.3.4) / Zend engine to automatically call parent > > constructors when creating a class that has parents in an extension? > > > > Or if it cannot be done automatically, what would be the way to call > > the parent constructor? > > It is not done automatically > > > ZEND_FUNCTION(stringitem) > > { > > //TODO: should I call item ctor manually here, if so, how? Can't it be > > automated? > > add_property_string(this_ptr, "stringitem_str", > > "ThisIsStringItemClass",1); > > } > > ... > > ---Code--- > > > > I can always isolate the constructors to their own functions and call > > them manually in appropriate places to get properties of the parent > > class(es) initialized, but it sounds like a kludge and I' sure there's > > an automated way to do this since methods get inherited.... > > There is no automated way for that, but what you can do is adding: > > zif_item(INTERNAL_FUNCTION_PARAM_PASSTHRU); > > at the locattion of "TODO". This *might* work. > (Please also note that it is always smart to prefix your > functions/classes with the extension name to prevent naming clashes).. > > Derick >

« previous php.internals (#8338) next »