2009-05-18 10 views
3

コントローラのメソッドには、通常、「正しいことをする」ためのチェックがたくさんあります。
たとえば、ユーザーが正しいデータにアクセスしているかどうかを確認します。
CakePHPでは、コントローラのメソッドを終了するか、またはコントローラのメソッドから戻るには良い方法はありますか?

しかし、エラーが発生したときにこれらのメソッドを返すか、終了するのが最善の方法であると思います。私は単純なreturn文を使用してきましたが、CakePHPのようなものがあり、フレームワークの設計に従っていますか?または単純なリターン/出口ステートメントで十分ですか?

答えて

3

これは実際に何をしたいかによって異なります。

フォームポストを処理していて、データ検証に失敗した場合は、単純な戻り値で十分です。

検証が合格した場合は、リダイレクトがより適切です(重大な結果を招く可能性のあるデータをダブルポストしないようにする)。

実際には致命的なエラーが発生する可能性があります(おそらく、あなたのコードに起因するものではないでしょうか?)、cakeはAppController :: appError()または全体を通してこれらのエラーを処理するいくつかのオプションを提供しますAppErrorというクラスです。

は、ここに詳細情報を参照してください:

http://book.cakephp.org/view/154/Error-Handling

+0

あなたは、単純なリターンが十分であると言うとき、あなたは実際の値(真/偽など)を返すか、単に自然にコードブロックの終了をさせる意味ですか? –

+0

標準的なケーキ要求では、戻り値は必要ないし、使用されません。コントローラーの行動から戻ってくると、基本的にケーキに「私は自分のページをレンダリングする準備ができました」と言っています。これには例外があります(自動レンダリングをオフに切り替えるなど)が、別の問題です:) –

関連する問題