0

レンダリングが開始されると、コントローラー コードは既に実行されています。ビュー スクリプトにエラーがある場合、通常は空のページまたは半分レンダリングされたページになります。コードを確認しましたが、サブスクライブするイベントはありません。PHPRenderer は例外を再スローします。

    try {
        ob_start();
        include $this->__file;
        $this->__content = ob_get_clean();
    } catch (\Exception $ex) {
        ob_end_clean();
        throw $ex;
    }

コントローラーの場合、「dispatch.error」イベントがありますが、ここでは機能しません。これらのレンダリング エラーをキャッチし、エラーを適切に記録/表示する方法はありますか?

4

2 に答える 2

2

リスナーをアタッチできる「render.error」イベントがあります。http://framework.zend.com/manual/2.1/en/modules/zend.mvc.mvc-event.htmlを参照してください。

于 2013-04-08T13:32:33.100 に答える
1

2.0.x ブランチにはそのようなものはありません。2.1.x ブランチについては、他の回答を参照してください。

とにかく、あなたが使用できるそのようなイベントはありません。でも、あなたには必要ないと思います。ビューはビジネスロジックではなく、物事を表示するためのものであるため、ビューにエラーが発生することはありません。したがって、これらの例外をキャッチする方法を見つけるのではなく、ビューを修正する必要があると言えます。

エラー ログについては、apache ログを確認できます。

于 2013-04-08T10:57:52.497 に答える