2015年2月18日水曜日

メソッドのオーバーライド時のエラーを回避する

とあるメソッドをオーバーライドしたとき

Declaration of %s::%s() should be compatible with that of %s::%s()

というエラーが発生しました。

これは親クラスのメソッドと引数が異なるのが原因でした。
http://www.1x1.jp/blog/2007/11/php_e_strict_message.html

しかし
親クラス
public function getUserInfo( $a ){

子クラス
public function getUserInfo( $a, $b = NULL, $c = NULL ){

のようにデフォルト値を持つ引数は追加できるのでこの方法で回避できます。

0 件のコメント:

コメントを投稿