-2

ファイルに対して ajax リクエストを行ったとしphpます。結果が成功またはその他の場合。サーバーが残りのコードを実行する必要はありません。だから私はexit関数を使うことを考えていましたが、あまりにも多くexitsの良い練習がありますか? 私はわかりません。

  if(some condition) exit("success");
  else if(some condition) exit("fail");
 // after some 3 lines or so
 if(fail) exit("error");

PHP であまりにも多くの終了関数を使用することは、良い習慣でも悪い習慣でもあります。exit関数の使用に制限があることを誰か教えてもらえますか? return関数内であまりにも多くのステートメントを使用することはできないと言われましたが、exitこれ以上頻繁に使用してはならないのではないかと考えていました。あまりにも多くのexit機能を間違った方法で使用していませんか?

アップデート

指定された要件が満たされると、それ以上コードを実行する必要はありません。サーバーがダウンして、簡単に終了できるようになりたくありません。それは私が推測するより速くなりますか?

4

6 に答える 6

2

私にとって、それは間違った習慣です。可能であれば、入口と出口が 1 つずつあります。それがどの言語であるかは関係ありません。私は自分の時間を大切にしており、そのようなアプローチはコードの読み取り、保守、およびデバッグに役立ちます。

編集

ここで私の要点を要約すると (またはコメントに従ってください): これは黒/白のケースではないため、100% 厳密になるべきではありませんが、これが読みやすさの損失を引き起こし、これが十分な理由であることがわかった場合は、早期の返品を避ける傾向があります。私にとっては、すべてのネストされたif()/elseブロックでコードが単純にクリスマスツリーのように見える場合は、反対のことをすることに同意することもあります。

于 2013-07-08T18:00:21.360 に答える
0

真のオブジェクト指向スタイルを使用している場合は、次のような構造にする必要があります。

function foo($x){

    if (!is_int($x)) throw new Exception('foo needs an int argument');

    return $x *2

}

これで戻り値は 1 つだけになり、使用するメソッドを呼び出すときに

$variable = 0;

try{

    $variable = $this->foo(2.5);

}catch(Exception e){

    print_r($e)
}

これにより、問題を確認し、制御された方法で処理できます。

これは、1 つの「開始」と 1 つの「終了」を持つフローチャートの方法に従いますが、非常に詳細なメッセージを表示することができます。

于 2013-07-08T18:09:27.097 に答える