0
メソッドのオーバーライドのベストプラクティスは? 特に別のパラメータを追加する必要がある場合は、E_STRICTでのケーキメソッドのオーバーライド
に結果のpublic function delete($id, $soft = false, $cascade = true) {
if ($soft) {
return $this->_softDelete();
}
return parent::delete($id, $cascade);
}
を::
Declaration of Conversation::delete() should be compatible with that of Model::delete()
私は1つの方法をこのように(adding-parameters-to-overriden-method-e-strict-observation)をオーバーライドshoudn'tことを知っている
これは、(第2のparamのような柔らかい$を追加)E_STRICTに準拠していません。
しかし、そうする必要がある場合は、どのように進むのですか? (E_STRICTを削除する必要なし) 基本的な考え方は、このモデルメソッド呼び出しのすべての発生を書き換えることなく、通常のdelete呼び出しをインターセプトすることでした。
AppModelで 'beforeDelete'メソッドを使ってみましたか?おそらく、コアの 'delete()'をオーバーライドする良い方法です。 –
よく、私の質問はより一般的なものです(上記は例としての具体的な使用例です)。この問題がE_STRICTモードで発生するコードには、他にもたくさんの場所があります。だから私は何とかそれらのすべてに対処しなければならないでしょう。 – mark