2016-11-27 12 views
1

今日私はちょっと変わった質問があります。
PHPスクリプトを終了または終了する必要がありますか?それは正しいですか?PHPスクリプトをexitまたはexitで終了する必要がありますか?

なし;

enter image description here

と;

enter image description here

感謝。

+0

";"で。 PHPのすべてと同じように – Skayo

+0

何かが必要な場合は、スクリプトの最後から '?>'を削除します。とにかくあなたは「出口」しているのですか?あなたの場合、「出口」は何を解決するのですか? –

答えて

2

exitexit;exit()を使用することをお勧めします、そして(exit();はまったく同じですが、事実はあなたがの出口を使用してスクリプトを終了してはならないということです)呼び出し、それはちょうど悪い習慣です(しかし、それは動作します)。私は、それは「悪い習慣」だと述べている理由を明確に

EDIT

は、それは「出口」自体の機能性についてではありません、それは悪い何かが起これば、スクリプトの実行を停止するためにOKですが、何か」のコンセプト悪い "は本当に広いです。一般に、何らかの不都合な条件が発生したとしても、通常の実行フローはファイルの最後に到達するはずです。

...some init stuff... 
if (!user_is_authenticated) { 
    ...print some nasty message... 
    exit(); 
} 
...continue with normal stuff... 

より良いアプローチは、次のようになります:

...some init stuff... 
if (user_is_authenticated) { 
    ...continue with normal stuff... 
} 
else { 
    ...print some nasty message... 
} 

違いは何でしょうか。ただ、この例で考えますか相違点は、2番目のバージョンではexit()を使う必要がないということです。つまり、ある日、 "正常"と "望ましくない"実行フローの両方の後に何かをする必要がある場合は、ファイル。

ジョニーが言ったようにそれは、..「終了」ステートメントの仕事のすべてのそれらの4つの形式

+0

なぜそれが悪い習慣であるか説明できますか? – andrewsi

+0

確かに、更新された回答を確認してください – Johnny

2

オールウェイズsemicolon

<?php 

//exit program normally 
exit; 
exit(); 
exit(0); 

//exit with an error code 
exit(1); 
exit(0376); //octal 

?> 
+0

私の友人が出口の代わりに出口を使うべきだと教えてくれたら混乱しました。 。 ありがとう:-D –

+0

終了は関数ではありません。それは言語構造です。 – andrewsi

+0

ありがとう@andrewsi –

0

あなたは、関数の最後を除いて関数本体に「復帰」を使用してはならない理由について、多かれ少なかれ、同じ引数です。これらの2つの言語構成のいずれかのステートメントがない場合は、exitexit()の両方が機能します。他のPHP文の後ろに2つの構文があり、セミコロンの目的が文を終了して次の文に進む場合には機能しません。したがって、構文エラーやこの場合はexit;またはexit();を使用する必要があります。セミコロンを使用しないと、コーディング規約では悪い習慣とみなされます。

関連する問題