2010-08-14 14 views
36

vorrei sapere nel caso seguente, che è una scelta migliore:PHP - uscita o ritorno che è meglio?

Nello script PHP, se la variabile $fileSize è più grande di 100, mi fermo lo script;

Caso I:

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

Caso II:

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

Caso III:

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

Quale dei tre (3) opzioni di cui sopra è il migliore?

risposta

55

Poiché si utilizza exit e return nell'ambito globale (non all'interno di una funzione), il comportamento è quasi lo stesso.

La differenza in questo caso verrà visualizzata se il file viene chiamato tramite include() o require(). exit terminerà il programma, mentre return riprenderà il controllo sullo script chiamante (dove è stato chiamato include o require).

6

Tenderei ad andare con il metodo return(), in modo che altri script possano continuare l'esecuzione. In questo modo, se utilizzi un altro script per chiamare questo, può gestire gli errori per gestire il caso in cui il file è troppo grande, invece di interrompere sempre l'esecuzione.

3

Dipende ... se lo script è destinato a fare nient'altro che generare un messaggio e non si desidera che lo script esegua qualcosa in seguito, exit() funzionerà. Altrimenti, usa il reso.