Rasmus Lerdorf wrote:
> Pierre wrote:
>> Hello,
>>
>> On 8/3/06, Rasmus Lerdorf <[EMAIL PROTECTED]> wrote:
>>
>>> I'm not all that keen on a new keyword for this.  How about using an
>>> interface to indicate strictness?  Isn't this really what interfaces are
>>> all about?
>>
>> I don't like new keywords either, but I don't see any alternative. I
>> also think that interfaces are what should be used. But it seems that
>> we are wrong, interfaces do not solve this issue, I'm still unsure
>> about the reasons though...
> 
> Well, currently they don't because they don't care about method
> signatures, but they could be made to care.  Are there reasons beyond that?

erm, interfaces do care about method signatures either that or my php5 install
is magic:

# php5 -r '
interface Foo { function bar($v, $k); } class Qux implements Foo { function 
bar() {} }'

Fatal error: Declaration of Qux::bar() must be compatible with that of 
Foo::bar() in Command line code on line 2

# php5 -r '
interface Foo { function bar($v, $k); } class Qux implements Foo { function 
bar($a, $b, $c) {} }'

Fatal error: Declaration of Qux::bar() must be compatible with that of 
Foo::bar() in Command line code on line 2



> 
> -Rasmus
> 

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

Reply via email to