私はCodeigniterを利用しています。PHPとCodeigniterでのエラー処理。どうやってするの?再帰的コードの回避
私はさまざまな機能を開発しており、意図したとおりに使用すると完全に機能します。
このようなスクリプトの1つであるwhoisスクリプトは、ドメイン名の所有者をチェックします。 しかし、ユーザーが無効なドメイン名を入力すると、そこにはあらゆる種類のエラーが投げかけられています。
たとえば、ユーザーがstack.-comを入力した場合、これはもちろん有効なドメインではありません。したがって、クエリを実行するヘルパーを呼び出すと、結果は返されず、さまざまなエラーが返されます。また、空の配列をユーザーに表示しようとするとエラーが発生します。
私の質問はエラーに関するものです。
私はpreg_matchを使用してドメインが有効かどうかを調べることができました。そうでなければ、私はユーザに出力しようとするエラー変数を設定します。
私のコントローラがエラーページまたは結果ページを表示するかどうかを決定するif elseステートメントに達する前に、プログラムはクエリを実行しており、エラーのないデータを取得するメソッドにアクセスすると、結果ビューに渡します。
I.Eエラーがありますが、無効なアイテムが他のスクリプトに渡されているため、他にも多くのエラーが表示されています。
CodeigniterとMVCの設定では、同じことを何度も繰り返し実行する例外を使わずに、エラーをキャッチしてユーザーに表示する最良の方法は何ですか?
おかげIDEA WITH
EDIT
try
{
$this->load->model('whois');
$this->whois->process('domain.-com');
}
catch
{
$this->load->view('errors',$errordata);
$this->load->view('footer');
die;
}
$this->load->view('normal_content');
$this->load->view('footer');
これはCodeIgniterので例外を使用するための推奨設定ですか?私のモデルの中では、問題がある場合、関数は例外をスローします。 catchステートメントはそれらを表示し、死ぬので、コンテンツを表示しません..それは右のように見えません..?
通常は、コントローラにユーザー入力の健全性をチェックする(それがするpreg_matchを(使用してチェックすることができ、フォーマットについてだけの問題である場合))、またはあなたのことを確認してくださいどちらかモデルには十分なエラー処理があり、違法な処理を要求されたときに例外がスローされます。 –
なぜ例外を使いたくないのですか? http://stackoverflow.com/questions/6217786/codeigniter-and-throwing-exceptions –
上記を編集してみてください。まだ少し混乱しています。 Thx –