2010-08-14 6 views
36

Ich möchte in dem folgenden Fall wissen, die eine bessere Option ist:PHP - beenden oder zurück, was ist besser?

In dem PHP-Skript, wenn die $fileSize Variable größer als 100 ist, stoppe ich das Skript;

Fall I:

<?php 
if ($fileSize > 100) 
{ 
    $results['msg'] = 'fileSize is too big!'; 
    echo json_encode($results); 
    exit(); 
} 

Fall II:

<?php 
if ($fileSize > 100) 
{ 
    $results['msg'] = 'fileSize is too big!'; 
    exit(json_encode($results)); 
} 

Fall III:

<?php 
if ($fileSize > 100) 
{ 
    $results['msg'] = 'fileSize is too big!'; 
    return(json_encode($results)); 
} 

Welche der drei (3) oben stehenden Optionen ist die beste?

Antwort

55

Da Sie und return im globalen Gültigkeitsbereich verwenden (nicht innerhalb einer Funktion), ist das Verhalten nahezu identisch. Der Unterschied in diesem Fall wird angezeigt, wenn Ihre Datei über include() oder require() aufgerufen wird. 10 wird das Programm beenden, während return die Steuerung zurück zu dem aufrufenden Skript führt (wo include oder require aufgerufen wurde).

6

Ich würde dazu neigen, mit der return() Methode zu gehen, so dass andere Skripte weiter ausgeführt werden können. Auf diese Weise kann, wenn Sie jemals ein anderes Skript verwenden, um dieses aufzurufen, eine Fehlerbehandlung durchgeführt werden, um den Fall zu behandeln, in dem die Datei zu groß ist, anstatt die Ausführung immer anzuhalten.

3

Es hängt davon ab ... wenn Ihr Skript nur eine Nachricht ausgeben soll und Sie nicht wollen, dass das Skript danach etwas tut, wird exit() funktionieren. Andernfalls verwenden Sie return.