1--TEST-- 2Method override allows optional default argument 3--FILE-- 4<?php 5 6class A { 7 function foo($arg1 = 1) { 8 } 9} 10 11class B extends A { 12 function foo($arg1 = 2, $arg2 = 3) { 13 var_dump($arg1); 14 var_dump($arg2); 15 } 16} 17 18class C extends A { 19 function foo() { 20 } 21} 22 23$b = new B(); 24 25$b->foo(1); 26 27?> 28--EXPECTF-- 29Fatal error: Declaration of C::foo() must be compatible with A::foo($arg1 = 1) in %s on line %d 30