On Tue, Oct 23, 2012 at 4:46 PM, Stas Malyshev <smalys...@sugarcrm.com> wrote: > Hi! > >> +class Base { >> + const DUMMY = "XXX"; >> + public function foo($var=TEST, $more=null) { return true; } >> + public function bar($var, $more=self::DUMMY) { return true; } >> +} >> + >> +class Child extends Base { >> + const DUMMY = "DDD"; >> + public function foo($var=TEST) { return true; } >> + public function bar() { return true; } >> +} >> +?> >> +--EXPECT-- >> +Strict Standards: Declaration of Child::foo() should be compatible with >> Base::foo($var = '123', $more = NULL) in %sbug63336.php on line %d >> + >> +Strict Standards: Declaration of Child::bar() should be compatible with >> Base::bar($var, $more = 'XXX') in %sbug63336.php on line %d > > I don't think these are good examples for E_STRICT errors. bar() > traditionally has been used in PHP as function accepting any arguments, > so even if current implementation of PHP (wrongly) says it's not > compatible it may be fixed in the future. I'd rather use more obvious > cases where the extension is clearly wrong - like adding non-optional > arguments or types. This bug has very little to do with compatibility > resolution, so I do not think it is good to peg it to a particular way > of doing it. Hey: so you mean, this test script should not been committed?
thanks :) > -- > Stanislav Malyshev, Software Architect > SugarCRM: http://www.sugarcrm.com/ > (408)454-6900 ext. 227 -- Laruence Xinchen Hui http://www.laruence.com/ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php