Re: Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_compile.c php-src/tests/classes ctor_in_interface_01.phpt ctor_in_interface_02.phpt
ctor_in_interface_03.phpt ctor_in_interface_04.phpt interface_construct.phpt
I am guessing he is referring to the fact that it becomes increasingly
likely that you will have more interfaces declaring __construct. If any
two interfaces declare construct with a different signature then by
definition those two interfaces will be incompatible.
It just means that interface authors will have to put some more thought
into their design decisions now or they could end up with slightly more
unusable code.
On Mon, 2006-03-06 at 20:07 +0100, Marcus Boerger wrote:
> Hello l0t3k,
>
> there is nothing new here besides that fact that now you can also have a
> method with the name '__construct' in an interface. Nothing else changed.
>
> marcus
>
> Monday, March 6, 2006, 1:42:50 PM, you wrote:
>
> > This should cause much fun with classes implementing multiple interfaces....
>
>
> > ""Dmitry Stogov"" <[email protected]> wrote in message
> > news:001e01c640f6$efcb7a20$6e02a8c0@thinkpad...
> >> Well :)
> >>
> >> I don't say that the patch is wrong, the question itself is disputable.
> >>
> >> PHP doesn't allow multiple constructors, so if some class will implement
> >> interface with constructor.
> >> This calss (and all its subcalsses?) will not able to change constructor's
> >> prototype
> >>
> >> Havent we mess with subclasses?
> >>
> >> Thanks. Dmitry.
> >>
> >>> -----Original Message-----
> >>> From: Derick Rethans [mailto:[email protected]]
> >>> Sent: Monday, March 06, 2006 10:52 AM
> >>> To: Dmitry Stogov
> >>> Cc: 'Marcus Boerger'; [email protected]; Andi Gutmans
> >>> Subject: RE: [ZEND-ENGINE-CVS] cvs: ZendEngine2 /
> >>> zend_compile.c php-src/tests/classes
> >>> ctor_in_interface_01.phpt ctor_in_interface_02.phpt
> >>> ctor_in_interface_03.phpt ctor_in_interface_04.phpt
> >>> interface_construct.phpt
> >>>
> >>>
> >>> On Mon, 6 Mar 2006, Dmitry Stogov wrote:
> >>>
> >>> > Is it your answer to my "break label" patch? :(
> >>> >
> >>> > I didn't see final PDM's decision about constructor in
> >>> interfaces. And
> >>> > I didn't see any discussion about this, however may be I missed it.
> >>>
> >>> The PDM notes say:
> >>>
> >>> Issue: Currently it is not possible to define a
> >>> __construct() signature
> >>> in an interface.
> >>>
> >>> Discussion: We didn't see a reason why this shouldn't
> >>> be allowed, but
> >>> Andi seems to have a reason for it.
> >>>
> >>> Conclusions:
> >>>
> >>> 1. Zeev asks Andi why he doesn't want constructors in the
> >>> interface. If there is no sound reason we add this
> >>> possibility.
> >>>
> >>> Nothing like that happened... so I guess it's not important enough to
> >>> Andi anymore? :)
> >>>
> >>> > The question about constructors in interfaces is not
> >>> simple, and both
> >>> > points of view make sense. So I would like to see your and others
> >>> > arguments?
> >>>
> >>> At the PDM we didn't find *any* reasons why we *don't* allow it... so
> >>> why not just allow it?
> >>>
> >>> Derick
> >>>
> >>> --
> >>> Derick Rethans
> >>> http://derickrethans.nl | http://ez.no | http://xdebug.org
> >>>
> >>>
>
>
>
>
> Best regards,
> Marcus
>
Thread (4 messages)