ホームページ  >  記事  >  バックエンド開発  >  継承例外に関する質問

継承例外に関する質問

WBOY
WBOYオリジナル
2016-06-13 12:51:58872ブラウズ

ヘルプ: 継承エラーについて
php バージョン 5.4.12
PHP の厳格な標準: db_attach::needBy() の宣言は、C:phpwebdbdb_attach.php の 25 行目
の spModel::needBy($id, $value) と互換性がある必要があります。
書き換え時にパラメータが合わなかったのでネットで方法を調べました
1. 書き換えた関数パラメータを初期化する
2. error_reporting を error_reporting(E_ALL & ~(E_STRICT | E_NOTICE)) に設定します (php.ini に追加しました)

このエラーは常に抑制できるわけではありません。解決策はありますか?ありがとう

php
-----解決策---------
もう待つ必要はありません。
テストしました
class c { function test( $a ) { return 1; } }  <br />
class cc extends c { function test() { return null; } }   <br />
$cc = new cc(); 
厳格な基準: cc::test() の宣言は ...
の c::test($a) と互換性がある必要があります
これは非常に単純です。オーバーライドされるメソッドの関数シグネチャは基本クラスの関数と一致する必要があります。オーバーライドは本来上書きを意味するため、元のクラスの関数と一致する必要があります。関数、そうでない場合はどうすれば「カバー」できますか?
-----解決策-------------------------- ------
はは、書いたより早く投稿しました

access::needBy($field, $value) には 2 つのパラメータがあります
dbconect はアクセス
から継承します dbconect::needBy($id) にはパラメーターが 1 つしかないため、エラーが発生します。理由は上記の通りです
ただ
dbconect::needBy($id, $null=null) デフォルトパラメータを追加します
以上です
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。