Quite possible you had something else in mind, im just interested in
knowing why its done this way, is it for performance sake, is it
becuase you beleive php is more flexable this way, is it becuase it
just happened to be as such...
Im not being critical, Im being curious...
Jason
Marcus Boerger helly@php.net wrote:
Hello Jason,
maybe this time we neither had c++ nor java in mind, this time it was
delphi.regards
marcusSunday, June 27, 2004, 8:44:45 AM, you wrote:
which languages is this normal too..
if you refer to java, that uses the 'super' function, you need only
explicitly call super if your constructor has arguments, otherwise an
implicit call is made to the parents defualt constructor ( one with
arguments).
c++ also will call the parent defualt constructor automatically as well
i beleive.
that aside, i do release my mistake in the workaround, ive noted the
use of parent::__construct().
im not really concerned with coding, i was more simply interested in why
it was done this way, in such a way, that a child class can be
inherited with parent class construction.Jason
Stefan Walk swalk@prp.physik.tu-darmstadt.de wrote:
Hi, is there a reason that when a child class is instantiated the parent
class constructor does not get called?
The obvious workaournd for this is to simply call
$this->parentConstructor(); in the child class constructor, however,
this seems strange..parent::__construct(), to be exact :)
Am i way off base here...?
Thanks
JasonMost languages i know do that ("forcing" you to call super or alike).
The only small "annoyance" i see is that parent::__construct() doesn't
automatically use the parameters that were passed to the constructor,
but i think one can live with that.Stefan
--
--
Best regards,
Marcus mailto:helly@php.net
Hello Jason,
to be honest i don't really care. Since i am a C++ guy who loves types
i'd appreciate automatic calling of inherited constructors/destructors.
But php does not have types and so the non implicit calling version
gives us a little bit more flexibility. Since we also don't have
polymorphism the current solution seems to fit best. I hope this is a
better answer. A thing which could be changed though (if we haven't
fixed down everything in that area) is to change to automatically call
inherited destructors.
regards
marcus
Monday, June 28, 2004, 12:12:32 AM, you wrote:
Quite possible you had something else in mind, im just interested in
knowing why its done this way, is it for performance sake, is it
becuase you beleive php is more flexable this way, is it becuase it
just happened to be as such...
Im not being critical, Im being curious...
Jason
Marcus Boerger helly@php.net wrote:
Hello Jason,
maybe this time we neither had c++ nor java in mind, this time it was
delphi.regards
marcusSunday, June 27, 2004, 8:44:45 AM, you wrote:
which languages is this normal too..
if you refer to java, that uses the 'super' function, you need only
explicitly call super if your constructor has arguments, otherwise an
implicit call is made to the parents defualt constructor ( one with
arguments).
c++ also will call the parent defualt constructor automatically as well
i beleive.
that aside, i do release my mistake in the workaround, ive noted the
use of parent::__construct().
im not really concerned with coding, i was more simply interested in why
it was done this way, in such a way, that a child class can be
inherited with parent class construction.Jason
Stefan Walk swalk@prp.physik.tu-darmstadt.de wrote:
Hi, is there a reason that when a child class is instantiated the parent
class constructor does not get called?
The obvious workaournd for this is to simply call
$this->parentConstructor(); in the child class constructor, however,
this seems strange..parent::__construct(), to be exact :)
Am i way off base here...?
Thanks
JasonMost languages i know do that ("forcing" you to call super or alike).
The only small "annoyance" i see is that parent::__construct() doesn't
automatically use the parameters that were passed to the constructor,
but i think one can live with that.Stefan
--
--
Best regards,
Marcus mailto:helly@php.net
--
Best regards,
Marcus mailto:helly@php.net