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

I don't understand how interfaces are connected to my proposal, please
explain.

Personally I don't need the strict OO checks for matching parameter
lists at all, but as long as they are E_STRICT (or the like) I have no
problem with them being done. Nevertheless I would like to relax them
just a tiny  little bit for signature changes not having an impact of
object compatibility.

That's why I posted two use cases where the checks IMHO go too far and
added a patch to change that.

Copy of my message:

>> In the discussion about parameter checking in 5.2 I proposed to relax
>> the checks a tiny little bit: Don't test static functions (e.g. useful
>> for factory methods) and allow adding default values to functions (the
>> object of the inherited class still accepts the same parameters as the
>> base class). A patch is attached.
> 
>> Example:
>> class Base
>> {
>> static function factory($x) { }
>> function foo($x) { }
>> }
> 
>> class Spezialized extends Base
>> {
>> static function factory() { }   # Static method, e.g. factory method
>> function foo($x = null) { }     # Default values for specialized class
>> }

- Chris

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

Reply via email to