2011/9/17 Etienne Kneuss <col...@php.net>:
>
>
> 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.
sure, but why we need interface?   in addition,  I don't think this
can be done by  restricting  the argument

thanks
>
>>
>> >
>> > 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
>



-- 
Laruence  Xinchen Hui
http://www.laruence.com/

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to