On Sat, Sep 17, 2011 at 17:08, Laruence <larue...@php.net> wrote:

> 2011/9/17  <de...@lucato.it>:
> > Hi,
> >
> > I think Richards intended other methods often used in combination with
> > __construct:
> >
> > class A           { public function init($a, $b) { } }
> > class B extends A { public function init($a) { } }
> >
> > => PHP Strict Standards:  Declaration of B::init() should be compatible
> with
> > that of A::init()
>  do you know any reason for this?
>

The reason for this is simply that B must act like A since every B object is
also an object of A.


> >
> > The example with __construct() is valid (at least in 5.3).
> >
> >
> > Devis
> >
> >
> > On 17 September 2011 14:43, Nikita Popov <nikita....@googlemail.com>
> wrote:
> >
> >> Hi Richard!
> >>
> >> Which change are you talking about? I just tried doing:
> >>    <?php
> >>    class A           { public function __construct($a)     { } }
> >>    class B extends A { public function __construct($a, $b) { } }
> >> And it worked on 5.4 Beta 1 without errors.
> >>
> >> Nikita
> >>
> >> On Sat, Sep 17, 2011 at 3:27 PM, Richard Quadling <rquadl...@gmail.com>
> >> wrote:
> >> > Hi.
> >> >
> >> > With the recent BC with regard the locking of the constructor's
> >> > signature for subclasses, what is the expected mechanism for allowing
> >> > a subclass to have additional parameters?
> >> >
> >> > You can always supply them and use func_get_args() / func_num_args() /
> >> > etc. to read them.
> >> >
> >> > It would seem that the limitation restricts the capabilities. I'm not
> >> > a purist. Software development is a compromise between purity and
> >> > getting the job done in an efficient and understandable manner.
> >> >
> >> > By allowing undocumented parameters to the constructor (due to the
> >> > enforced signature), this would seem to break things on a different
> >> > front (I can't docblock non defined parameters for examples).
> >>
> >> --
> >> PHP Internals - PHP Runtime Development Mailing List
> >> To unsubscribe, visit: http://www.php.net/unsub.php
> >>
> >>
> >
>
>
>
> --
> Laruence  Xinchen Hui
> http://www.laruence.com/
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


-- 
Etienne Kneuss
http://www.colder.ch

Reply via email to