Manuel PHP
Précédent | Annexe B. Migration de PHP 3.0 à PHP 4.0 | Suivant

# Comportement de l'analyseur

L'analyse et l'éxecution sont désormais deux étapes complètement dissociées, et l'éxécution intervient lorsque le code, ainsi que tous ses inclusions et pré-requis, ont été complètement analysés et validés.

Une des nouvelles conditions introduites est que les fichiers inclus et requis (include() et require()) doivent être syntaxiquement complets. Vous ne pouvez plus répartir différents cas de votre code dans plusieurs fichiers. Vous ne pouvez plus commencer une boucle `for` ou `while`, une condition `if` ou un cas `switch` dans un fichier, et finir la boucle ou placer les cas `else`, `endif`, `case` ou `break` dans un autre fichier.

Il est toujours valable d'inclure du code supplémentaire depuis une boucle ou dans une condition, mais les accolades de bloc `{...}`, et les éléments de la boucle doivent être dans le même fichier ou chaîne évaluée avec eval().

Cela ne devrait pas perturber trop de monde, car étaler son code de cette façon est plutôt un style à éviter.

Une autre nouveauté est qu'il est plus possible de faire retourner une valeur avec un fichier requis (require()) (mais c'est plutôt rare en PHP 3.0). Retourner une valeur avec un fichier inclus (include()) est toujours possible.

Précédent | Sommaire | Suivant
Migration des fichiers de configuration | Niveau supérieur | Rapport d'erreur