web-dev-qa-db-fra.com

PHP - exit ou return qui est le meilleur?

Je voudrais savoir dans le cas suivant quelle est la meilleure option:

Dans le script PHP, si le $fileSize la variable est supérieure à 100, j'arrête le script;

Cas I:

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

Cas II:

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

Cas III:

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

Laquelle des trois (3) options ci-dessus est la meilleure?

44
q0987

Puisque vous utilisez exit et return dans la portée globale (pas à l'intérieur d'une fonction), le comportement est presque le même.

La différence dans ce cas apparaîtra si votre fichier est appelé via include() ou require(). exit terminera le programme, tandis que return reprendra le contrôle au script appelant (où include ou require a été appelé).

70
Aziz

J'aurais tendance à utiliser la méthode return(), afin que d'autres scripts puissent continuer à s'exécuter. De cette façon, si vous utilisez un autre script pour appeler celui-ci, il peut gérer les erreurs pour traiter le cas où le fichier est trop volumineux, au lieu d'arrêter toujours l'exécution.

7
Jeffrey Blake

Cela dépend ... si votre script est destiné à ne rien faire d'autre que la sortie d'un message, et que vous ne voulez pas que le script fasse quoi que ce soit par la suite, exit () fonctionnera. Sinon, utilisez retour.

6
Crayon Violent

Quitter termine le programme comme die (). manuel

4
Iznogood