1

ZendFrameWorkを使用してPHP5.3.2で動作し、PHP5.4.2を使用して新しいサーバーに移行した大きなWebアプリケーションがあります。ほとんどは引き続き機能しますが、エラーが発生する小さな部分(「インポート」と呼びましょう)があります。

RptSchdlMdfctnBO :: getWorkFlowData()の宣言は、WorkFlowBaseBO :: getWorkFlowData($ Id)、ファイル/www/vrs/vrs/application/models/wrkflows/RptSchdlMdfctnBO.php、line79と互換性がある必要があります

何が起こるかというと、このクラスRptSchdlMdfctnBOがあり、空のメソッドgetWorkFlowData($ Id)があり、同じ引数で多くの場所で再定義されています。ただし、インポート部分では、このメソッドは2つの引数で再定義され、常に2つの引数で呼び出されます。どうやら、これはPHP5.4.2では受け入れられません。2番目のオプションの引数を受け入れるようにメソッドの定義を変更しようとしましたが、何も変更されませんでした。

public function getWorkFlowData($Id,$Flags=0)

2つの質問:1)PHPでのこの動作の変化が説明されている場所にリンクしてください。2)インポート機能を機能させるための最も危険性の低い回避策は何ですか?

4

1 に答える 1

1

たとえば、クラスに新しいメソッドを追加し、getWorkFlowDataWithFlags($id, $flags)そこから機能をリファクタリングして、デフォルトのフラグ0で呼び出すだけgetWorkFlowDataに変更することをお勧めします。getWorkFlowDatagetWorkFlowDataWithFlags

于 2012-12-07T11:16:34.053 に答える