2017-11-26 21 views
0

나는 코드 아래 시도 :정적 클래스 메서드를 호출 할 수있을 때 인수를 전달하는 적절한 방법은 무엇입니까?

<?php 
    class A { 
    public static function who($simba) { 
     echo "A\n"; 
     echo $simba; 
    } 
    } 

    class B extends A { 
    public static function who() { 
     echo "B\n"; 
    } 
    } 
    call_user_func(array('B', 'parent::who'), $nangal="huip"); 
?> 

출력 :

Warning: Declaration of B::who() should be compatible with A::who($simba) 
A huip 

가 왜이 경고를 받고 있어요? 나는 그것을 제거하고 싶다. 그러니 제발 나를 인도 해주세요.

답변

0

PHP에서 메서드를 재정의하는 경우 재정의 메서드의 서명은 부모 같은 메서드와 호환되어야합니다! 즉, 확장 클래스로 public static function who($simba)을 선언해야합니다.