4

非常に基本的な質問があります... PHP 関数では、値が FALSE を返す場合はリダイレクトし、それ以外の場合はコードを続行します。

flibbertigibbet()
{
   $value = true_or_false();

   if ($value == FALSE)
   {
       //redirect to another controller method
   }

   //the rest of the code
}

リダイレクト後はどうなりますか?たとえば、コードが壊れたり、少し実行されたりしますか..リダイレクトの読み込みに時間がかかりますか?

exit()リダイレクト後に使用することをお勧めしますか?

4

3 に答える 3

4

コードは引き続き実行されます - リダイレクトに時間がかかるときだけでなく、毎回 nd から最後まで実行されます。

使用するかどうは、残りのコードを実行するexit()かどうかによって異なります。を設定して新しいアドレスを送信することもできますが、データベースやその他のビットの更新など、後で実行することもできます。header()

私は通常、必要なすべての更新を行いheader()、ページの最後に権利を送信するのが最善だと考えています。これにより、デバッグがはるかに簡単で直感的になります。

于 2012-08-19T01:34:52.590 に答える
4

リダイレクト ヘッダーを設定するだけでは何もしません。常にexit、またはdieLocation ヘッダーを設定した後 (自分が何をしているのか正確にわかっていない場合)

于 2012-08-19T01:34:59.167 に答える
1

リダイレクトの意味によって異なります。はい、次のような場合、残りのコードは実行されません。
header("Location: http://newurl.com");

それ以外の場合、戻ってこない正当な理由がない限り(無限ループ、時間includeがかかりすぎてタイムアウトを設定していないコンテンツを試行している場合、 exit()...を使用します)、残りのコードはif 条件コードの実行が終了するとすぐに実行されます。

于 2012-08-19T01:39:27.047 に答える