Marcus Boerger wrote:
> Hello Christian,
> 
>   the short form is, use interfaces. And the long form is read the upgrade
>   file and find out to use interfaces :-)

Sorry for nagging again, but his issue still concerns me a lot.

The thing is that currently we have inheritance rules that feel
a lot like interfaces (see: "rethink OO inheritance strictness").

I'm having very strong feelings against the current behavior and,
if I remember correctly, I'm not alone.

<quote message-id="[EMAIL PROTECTED]">
[EMAIL PROTECTED]:~/build/php-5.2-debug$ cli -d"error_reporting=8191" -r 'class 
c{function f(){}} class d extends c{function f($a){}}'
Strict Standards: Declaration of d::f() should be compatible with that of 
c::f() in Command line code on line 1

[EMAIL PROTECTED]:~/build/php-unicode-debug$ cli -d"error_reporting=8191" -r 
'class c{function f(){}} class d extends c{function f($a){}}'
Fatal error: Declaration of d::f() must be compatible with that of c::f() in 
Command line code on line 1

I *really* think that this enforcements are no good idea and
I _beg_ you that we leave this "area" to interfaces.
</quote>


I'd therefore like to conduct a serious vote on this issue.

[X] (+1) please remove that redundant strictness again
[ ] (-1) leave as it is, we need strict OO implementation
[ ] ( 0) what the hell are you talking about?



Regards,
-- 
Michael

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

Reply via email to