2017-11-26 6 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)を宣言する必要があります。

関連する問題