Pourquoi ne pas essayer?
Par exemple, vous pourriez avoir un premier fichier, appelé temp.php
, qui contient ceci:
<?php
$a = my_func();
include 'temp-2.php';
function my_func() {
die;
}
Et le second fichier, temp-2.php
, qui contiendrait ceci:
<?php
sleep(5);
Lorsque vous appelez temp.php
à partir de votre navigateur Web, combien de temps faut-il pour charger la page? C'est presque instantané? Ou cela prend-il 5 secondes?
Dans le premier cas, la fonction est appelée avant que temp-2.php
soit incluse. ... Et, après avoir essayé: cela ne prend qu'un instant - ce qui signifie que le second fichier n'est pas inclus, lorsqu'il y a un dé ou une sortie dans la fonction.
EDIT après le commentaire: Oh, désolé, je ne comprenais pas vraiment, je suppose que la question, :-(
Voici un autre essai: le temp.php
contient encore ceci:
<?php
$a = my_func();
include 'temp-2.php';
function my_func() {
die;
}
Mais le fichier temp-2.php
contient maintenant seulement que:
<?php
,
Qui, oui, vous obtiendra une erreur d'analyse si PHP essaye d'analyser ce fichier.
Si vous appelez temp.php
de votre problème, il ne semble pas être un problème du tout: rien ne s'affiche, et il n'y a pas d'erreur d'analyse syntaxique.
Maintenant, si vous commentez la ligne « die
» à l'intérieur de la fonction my_func
et essayez d'appeler temp.php
à nouveau dans votre navigateur, vous obtenez:
Parse error: syntax error, unexpected ',' in /home/squale/developpement/tests/temp/temp-2.php on line 3
Ce qui indique qu'il ya une erreur Parse si PHP tente d'analyser ce deuxième fichier. Donc, la première fois, la fonction a été appelée avant que PHP n'essaye réellement d'analyser le second fichier.
Espérons que cette question soit meilleure, cette fois-ci :-)
Je fais la distinction entre l'analyse et la course. Donc, dans mon cas, si les fichiers sont inclus et analysés, puis exécutés seulement après l'appel de my_func, ce n'est pas bon pour moi (et votre test ne le prouve pas ou ne le prouve pas), comme dans ma vraie application, un .php & b.php sont une énorme liste de fichiers, plusieurs mégas ... –
@Itay: Je viens d'éditer ma réponse avec un second exemple, qui, j'espère, répondra mieux à votre question. –
Bien que j'ai reçu une réponse directe d'Adam Wright, j'aime mieux la cause de la preuve. Merci. –