一个strict类型的错误为什么“关”不掉?
<br />//我当前是php5.3版<br />//按php.ini中的设置(error_reporting = E_ALL | E_STRICT),<br />//本页会显示2个strict类型的错误(见后面代码注释)<br />//ini_set("error_reporting",E_ALL); //写这个,只能关闭2号错误提示<br />//ini_set("error_reporting",E_NOTICE); //写这个也只能关闭2号错误提示<br />//ini_set("display_errors", 0); //这个还是只能关闭2号错误提示<br /><br />//问题就是:为什么子类跟父类同名但不同参的这个strict错误,为什么关不掉? <br /><br />class Person{<br /> public $name;<br /> public $age;<br /> private function f1($x){<br /> echo "Person中x = " . $x;<br /> }<br />}<br />class Teacher extends Person{<br /> public $depart; //所属部门<br /> public function f1($x,$y){ //这里方法参数跟父类同名方法不同,<br /> //因此报一个strict类型的错(1号)<br /> echo "Person中x = " . $x , ", y=" . $y ;<br /> }<br />}<br />$o1 = new Teacher();<br />$o1->f1(1,2);<br />$o1::f1(3,4); //这里使用静态方式调用非静态方法,也报一个strict错(2号)<br />