On Thu, May 23, 2013 at 11:32 PM, Stas Malyshev <smalys...@sugarcrm.com>wrote:

> Hi!
>
> > Right now, to avoid this situation, you have to do:
> > if (method_exists(get_parent_class(), '__construct'))
> > parent::__construct();
> >
> > If you don't check for the method existing, you get:
> > Fatal error: Cannot call constructor ...
>
> This makes a lot of sense. I think we also discussed this idea some time
> ago, but it didn't go anywhere that time...


last time it was discussed on the list:
http://www.mail-archive.com/internals@lists.php.net/msg50504.html
to summarize it:
Etienne was arguing that for the concrete example (Spl classes) it would be
better to make sure that the object is properly initialized so having a
constructor in the spl classes.
Anthony was the only one who was against the idea of removing the error
when you call a parent constructor which doesn't (explicitly) have one.
Otherwise everybody else seemed to agree with the above change and only the
implementation was discussed:
- we should remove the error completelly
- we should make the error less serious (please don't do this)
- we should always create a common ancestor for every class by default
which have an empty constructor/destructor
- we should always create an empty constructor/desctructor for every class
without it.

So maybe we could discuss this and based on the feedback create an rfc
(with or without a vote for the alternative implementations).
-- 
Ferenc Kovács
@Tyr43l - http://tyrael.hu

Reply via email to