On Fri, 2004-02-27 at 14:13, Derick Rethans wrote:
> On Fri, 27 Feb 2004, Andi Gutmans wrote:
> 
> > d) Last problem is that using E_STRICT is not a good idea because we find
> > this problem at compile-time and the error_reporting might not be set yet.
> 
> The INI system is 'booted' before the script is compiled, so I doubt
> that this is a problem.
> 
> > What I suggest is the following:
> > a) Don't check signature for constructors.
> > b) By default, don't check signature for inheritance *if* we're not
> > inheriting from an abstract class. If it is an abstract class we should
> > check the signature because it's a PHP 5 feature.
> 
> ack and ack
> 
> > c) Add a new INI option (zend.strict_inheritance_checks) which does check
> > signature for methods (except for constructor). I don't like new INI
> > options but I don't think there's any way out.
> 
> I'm against adding another INI setting. I don't see why we need to force
> this OO purist thing on all long time users at all. What is wrong by
> showing an e_notice/e_warning for it in non-compat mode, and e_strict in
> compat mode (or just e_strict in both cases)? Then PHP still tells you
> that you do something wrong, but it won't break any code.

What is worse is that many PHP 4 APIs need to be completely redesigned
for PHP 5, not only the guts of the class. 

IMHO method overloading the the only clean way out of this.

 - Stig

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

Reply via email to