PHP-saída ou retorno Qual é melhor?

gostaria de saber no seguinte caso Qual é a melhor opção:

na script PHP, se a variável $fileSize for superior a 100, eu paro a 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 ) );
}

Qual das três (3) opções acima é a melhor?

Author: nyedidikeke, 2010-08-14

4 answers

Uma vez que você está usando {[[0]} e return dentro do escopo global (não dentro de uma função), então o comportamento é quase o mesmo.

A diferença neste caso irá aparecer se o seu ficheiro for chamado através de include() ou require(). exit irá terminar o programa, enquanto return irá levar o controlo de volta para o programa de chamadas (onde include ou require foi chamado).

 62
Author: Aziz, 2010-08-14 16:02:09

Eu tenderia a seguir o método {[[0]}, para que outros scripts possam continuar a executar. Dessa forma, se você alguma vez usar outro script para chamar este, ele pode fazer manipulação de erros para lidar com o caso em que o arquivo é muito grande, ao contrário de sempre parar a execução.

 7
Author: Jeffrey Blake, 2010-08-14 15:57:26

A saída termina o programa como o die(). manual

 4
Author: Iznogood, 2010-08-14 15:58:01
Depende...se o seu script se destina a não fazer mais nada além de enviar uma mensagem, e você não quer que o script faça nada depois, o exit() irá funcionar. Caso contrário, use o retorno.
 4
Author: Crayon Violent, 2010-08-14 15:58:34