Maison  >  Article  >  développement back-end  >  Quelles sont les différences entre plusieurs fonctions d’inclusion de fichiers en PHP ?

Quelles sont les différences entre plusieurs fonctions d’inclusion de fichiers en PHP ?

青灯夜游
青灯夜游original
2021-07-15 19:47:142651parcourir

Différence : 1. Si include rencontre une erreur, il affichera une invite et poursuivra l'exécution tandis que require mettra fin à l'exécution du programme ; 2. Si le fichier inclus dans require_once et include_once a déjà été inclus, il ne sera pas inclus à nouveau, mais include et require le feront.

Quelles sont les différences entre plusieurs fonctions d’inclusion de fichiers en PHP ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3

L'inclusion de fichier fait référence à l'inclusion de l'intégralité du contenu d'un autre fichier source dans le fichier source actuel pour utilisation, généralement également appelée introduction fichiers externes. Le référencement de fichiers externes peut réduire la réutilisabilité du code et constitue une compétence importante en programmation PHP.

PHP fournit 4 instructions include très simples mais utiles, à savoir l'instruction include, l'instruction require, l'instruction include_once et l'instruction require_once. Il existe certaines différences dans l'utilisation de ces quatre énoncés. Chacun est expliqué en détail ci-dessous.

1. instruction include

Lors de l'utilisation de l'instruction include pour inclure un fichier externe, le fichier externe ne sera inclus que lorsque le code est exécuté dans l'instruction include. Lorsqu'une erreur se produit dans le fichier externe inclus, le système donnera un avertissement et l'ensemble du programme PHP continuera à s'exécuter vers le bas. Le format de syntaxe de l'instruction

include est le suivant :

include('filename') 或者 include 'filename'

où filename est le chemin du fichier à inclure (les chemins relatifs et absolus sont acceptables), le nom de fichier est une chaîne, il doit donc être placé entre guillemets simples ' ' ou des guillemets doubles " " . Dans le même temps, les crochets après include peuvent également être omis. Lorsque les crochets sont omis, include doit être séparé du nom de fichier suivant par un espace.

Pour faciliter la démonstration, nous préparons ici un fichier demo.php et y définissons simplement une variable $str, comme indiqué ci-dessous :

<?php
    $str = &#39;https://www.php.cn/&#39;;
?>

[Exemple] Utilisez l'instruction include pour inclure le fichier demo.php, le code est le suivant :

<?php
    include &#39;./demo.php&#39;;
    echo $str;
?>

Les résultats d'exécution sont les suivants :

https://www.php.cn/

2. instruction require

L'instruction require est similaire à l'instruction include, qui implémentent toutes deux des références à des fichiers externes. Avant que le fichier PHP ne soit exécuté, l'analyseur PHP remplacera l'instruction require par l'intégralité du contenu du fichier référencé, puis formera un nouveau fichier PHP avec d'autres instructions à l'exception de l'instruction require, et enfin exécutera le code du programme selon le nouveau fichier PHP. .

Remarque : étant donné que l'instruction require équivaut à copier complètement le contenu d'un autre fichier source dans ce fichier, elle est généralement placée au début du fichier source pour référencer les fichiers de fonctions publiques et les fichiers de classe publics qui doivent être utilisés, etc. .

L'instruction require est presque exactement la même que l'instruction include. La différence est que lorsque le fichier inclus n'existe pas ou qu'il y a une erreur, l'instruction require émettra une erreur fatale et mettra fin à l'exécution du programme, tandis que l'instruction include émettra un avertissement d'avertissement mais le programme continuera à s'exécuter vers le bas. Le format de syntaxe de l'instruction

require est :

require(filename) 或者 require &#39;filename&#39;

Le paramètre nom de fichier est le chemin du fichier à inclure, et ses caractéristiques sont les mêmes que les paramètres de l'instruction include.

[Exemple] Utilisez l'instruction require pour inclure le fichier demo.php défini ci-dessus. Le code est le suivant :

<?php
    require &#39;./demo.php&#39;;
    echo $str;
?>

Les résultats d'exécution sont les suivants :

https://www.php.cn/

3. est similaire à l'instruction include. La seule différence est que si le fichier inclus a déjà été inclus, il ne le sera pas à nouveau. include_once peut garantir que le même fichier n'est inclus qu'une seule fois lors de l'exécution du script pour éviter des problèmes tels que la redéfinition des fonctions et la réaffectation des variables. Ajustons le fichier demo.php défini ci-dessus comme suit :

<?php
    echo &#39;PHP中文网<br>&#39;;
    echo &#39;https://www.php.cn/&#39;;
?>

[Exemple] Utilisez l'instruction include_once pour inclure le fichier demo.php, le code est le suivant :

<?php
    include_once &#39;./demo.php&#39;;
    include_once &#39;./demo.php&#39;;
    include_once &#39;./demo.php&#39;;
?>

Les résultats d'exécution sont les suivants :

PHP中文网
https://www.php.cn/

4. Instruction require_once

L'instruction require_once est une extension de l'instruction require. Sa fonction est fondamentalement similaire à l'instruction require. La différence est que lors de l'application de l'instruction require_once, elle vérifiera d'abord si le fichier est activé. être inclus est déjà dans le programme. S'il a été inclus ailleurs, le fichier ne sera pas inclus à nouveau. [Exemple] Utilisez l'instruction require_once pour inclure le fichier demo.php. Le code est le suivant :

<?php
    require_once &#39;./demo.php&#39;;
    require_once &#39;./demo.php&#39;;
    require_once &#39;./demo.php&#39;;
?>

Les résultats d'exécution sont les suivants :

PHP中文网
https://www.php.cn/

Apprentissage recommandé : "

Tutoriel vidéo PHP

"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn