2017-06-16 11 views
0

私はクラスを拡張している:私は今、私の子クラスに渡すパラメータを追加したい親クラスのメソッドをオーバーライドしてparamsを変更する方法は?

myMethod($param1, $param2) 

、しかし:私は親クラスのメソッドをオーバーライドする方法を持っている

class Foo extends Bar 

互換性エラーが発生します。例えば。

myMethod($param1, $param2, $param3) 

親のクラスメソッドをオーバーライドしてパラメータを変更できる正しい方法はありますか?

ご注意ください私は親クラスを変更することはできません。

+0

を呼び出すようにする前に、あなたは、約setParam3($param3) and getParam3()メソッドを追加何親クラスを変更できない場合:/を/stackoverflow.com/questions/13423494/why-is-overriding-method-parameters-a-violation-of-strict-standards-in-php)SOの質問。 – PeterMader

+0

オプションのパラメータを使用できますか? PHPはオーバーロードをサポートしていません。オプションのパラメータを使用することでオーバーロードを行います。 – FMashiro

答えて

0

[この](httpsをご覧くださいmyMethodコールsetParam3、その後、あなたの子供のクラスで

myMethod($param1, $param2) 
{ 
    $param3 = $this->getparam3(); 
    // rest of code 
} 
関連する問題