2016-03-26 6 views
-1

CakePhp例外のデフォルトの動作は、メッセージを渡すことができ、そのメッセージが名前とメッセージキーに表示されることです。この機能を拡張し、例外がスローされたときに、メッセージと名前キーに異なる値を表示したいと考えています。さらに、私は時々カスタムフィールドのセットを提供したい。これを達成するために、cakephpでカスタムExceptionRendererを作成しました。cakeexceptionがスローされ、配列が渡されたときにうまく動作しますが、NotFoundExceptionなどの継承されたexcetpionに配列を渡すとエラーになります。Cakephp2 - カスタムクラスのHttpException

これを達成するために、cakephpが持つデフォルトのHTTPExceptionクラスをオーバーライドすることを考えていますが、そうすることはできません。私はこれを行う方法を知りたいです。

答えて

1

フム..これはあなたが名前のエラーであなたのAppディレクトリ内のフォルダを作成することができます...

少しトリッキーです。

コピーしますbootstrap.php内部の内部が、その後、このfileは、その後、あなたが好きなようで例外を変更することを開始することができ

require APP . DS . 'Error' . DS . 'exceptions.php';

でライン

require CAKE . 'Error' . DS . 'exceptions.php';

を交換してください。

これはおそらく実行可能ですが、いくつかの副作用があるかもしれません。たとえば、元のファイルがリポジトリで更新されている場合は、手動でファイルを更新する必要があります。また、これらのクラスがコア内部でどこで使用されるか分からず、何かを制動するかもしれないので、Exceptionクラスへの変更を制限する必要があります。

主に署名を変更しないでください。

関連する問題