2011-01-20 3 views
3

Lorsque vous voulez omettre le reste d'une boucle que vous écrivez une instruction break.Briser un include

Y at-il quelque chose que vous pouvez écrire pour omettre le reste d'un fichier inclus (mais ne pas terminer le reste de l'application comme lorsque vous utilisez die ou exit)?

+0

Je ne sais vraiment pas pourquoi vous voudriez. (Qu'y a-t-il dans le fichier d'inclusion?) J'espère en quelque sorte que ce soit des fonctions ou une classe, mais je suppose que ce n'est pas le cas dans ce cas. –

+0

@middaparka, Il est pour un type particulier de fichiers qui sont inclus par défaut par l'environnement dans lequel ils sont. Il y a quelques occasions lors de l'exécution de tout le code dans ces fichiers n'est pas nécessaire et c'est la raison pour laquelle je voulais que cela. –

+0

@Emanuil On dirait que vous avez juste besoin d'envelopper les parties pertinentes dans un * si * bloc en fonction de la page active, etc. –

Répondre

7

Vous pouvez utiliser une instruction return pour quitter un fichier inclus, et éventuellement renvoyer une valeur.

Exemple:

<?php 
// file1.php: 

$value = include('file2.php'); 
echo $value; 

qui comprend:

<?php 
// file2.php: 
if($_REQUEST['something'] == 'something else') 
    return 'Something else'; 

//do some stuff if _REQUEST['something'] != 'something else' 

return 'something'; 

Il est évident qu'un exemple inutile, mais il illustre l'utilisation de return à eit un fichier ed include().

+2

Brillant! J'étais presque sûr que cela ne pouvait pas être fait, mais il s'avère qu'il existe une solution aussi élégante. Je suis tellement content d'avoir posé cette question. –

+1

+1. Bien, fermez vos balises PHP pour une bonne forme et une bonne santé générale. –

+1

@Tomalak: pour les fichiers PHP uniquement, j'omets toujours la balise PHP de fermeture. C'est aussi le [Zend] (http://framework.zend.com/manual/en/coding-standard.php-file-formatting.html) et [Drupal] (http://drupal.org/coding-standards #phptags) standard. – Josh

1

vous pouvez diviser votre inclure dans deux fichiers séparés, nécessitent alors les deux au besoin au lieu d'un seul, ou peut-être juste besoin d'une et que l'on a besoin de la seconde si nécessaire.

+0

Vous pouvez également structurer votre code dans le fichier inclus en utilisant les instructions 'if' ... il y a une grande variété de façons de gérer cela. – Josh