Maison >développement back-end >tutoriel php >Quelle est la différence entre php utilisant include et require pour introduire des fichiers ?

Quelle est la différence entre php utilisant include et require pour introduire des fichiers ?

怪我咯
怪我咯original
2017-07-06 10:19:361200parcourir

Les performances de l'instruction require() sont similaires à celles de include(), incluant et exécutant le fichier spécifié. La différence est que pour l'instruction include(), le fichier est lu et évalué à chaque exécution ; tandis que pour require(), le fichier n'est traité qu'une seule fois (en fait, le contenu du fichier remplace l'instruction require()).

Récemment, des amis ont posé des questions sur require_once Quant aux problèmes rencontrés dans le programme, ils sont ennuyeux et difficiles. Tant que le bug existe, cela vaut la peine de l'explorer et de le résoudre. . En réponse à ce problème, je résume l'utilisation détaillée de include et require. (Intégré en combinant les informations et ma propre compréhension) J'espère que cela pourra aider les amis dans le besoin.

Fichier d'introduction :

Vous avez d'abord besoin d'un fichier php :

<?php
class shao//类名必须和文件名相同!!!
{
  public $xxx="666";
}
$shili = new shao();
echo $shili->xxx;
?>

Citation :

<?php
//引入文件
include "shao.php";//引用文件;只能引用一遍
//引用多个则费劲
//include_once("shao.php");//一次又一次
//也可以require ("shao.php");
?>

La différence entre include et require :

require :

Lors de l'exécution de require(), uniquement Le fichier sera lu une fois, il est donc souvent placé au début du programme. Une fois le fichier importé, PHP recompilera le fichier de la page Web afin que le fichier importé fasse partie de la page Web d'origine.

require() : Inclusion inconditionnelle. Si le fichier n'existe pas, une erreur fatale sera signalée. Le script cessera de s'exécuter
Lorsque require rencontrera une erreur, il signalera directement une erreur. erreur et arrêtez d'exécuter le programme

include :

Lors de l'exécution de include(), le fichier sera lu à chaque fois, il est donc souvent utilisé dans le section du contrôle de processus, comme le Jugement conditionnel ou en boucle.
include() : inclusion conditionnelle. Si le fichier n'existe pas, un avertissement sera donné, mais le script continuera à s'exécuter
Lorsque l'inclusion rencontre une erreur (le fichier référencé n'existe pas), PHP le fera. signalez simplement une erreur, mais le programme continuera à s'exécuter

Les éléments suivants sont des suppléments :

1. ce n'est pas nécessaire.
2. include() inclut et exécute le fichier spécifié. Lorsque le traitement échoue, include() génère un avertissement. Le code du programme importé sera exécuté et ces programmes auront et appelleront include( dans le fichier source une fois exécutés. . ) l'instruction est dans la même portée de variable . Vous pouvez importer des pages statiques depuis le même serveur.
3. La fonction de include_once() est presque la même que celle de include(). La seule différence est que include_once() vérifiera d'abord si le fichier à importer a été importé ailleurs dans le programme. La fonction est parfois très importante. Par exemple, si le fichier que vous souhaitez importer déclare certaines fonctions que vous avez définies vous-même, alors si vous importez ce fichier à plusieurs reprises dans le même programme, le fichier sera importé une deuxième fois. se produire car PHP ne permet pas de déclarer une seconde fois des fonctions portant le même nom).
4. require() lira le contenu du fichier cible et se remplacera par le contenu lu si le traitement échoue, require() provoquera une erreur fatale. Cette action de lecture et de substitution se produit lorsque le moteur PHP compile le code de votre programme, et non lorsque le moteur PHP commence à exécuter le code du programme compilé (la façon dont fonctionne le moteur PHP 3.0 est de compiler et d'exécuter une ligne à la fois. Mais les choses ont changé depuis. PHP 4.0. PHP 4.0 compile d'abord l'intégralité du code du programme, puis exécute le code du programme compilé en une seule fois. Aucun code de programme ne sera exécuté pendant le processus de compilation. require() est généralement utilisé pour importer du contenu statique, tandis que include() convient à l'importation de code de programme dynamique.
5. Comme include_once(), require_once() vérifiera d'abord si le contenu du fichier cible a déjà été importé. Si tel est le cas, le même contenu ne sera pas réimporté.
6. require est une inclusion inconditionnelle, c'est-à-dire que si require est ajouté à un processus, require sera exécuté en premier, que la condition soit vraie ou non.
7. require est généralement placé au début du programme PHP. Avant que le programme PHP ne soit exécuté, il lira d'abord le fichier spécifié par require et l'intégrera à la page Web du programme PHP. Les fonctions couramment utilisées peuvent également être introduites dans les pages Web de cette manière.
8. Include est généralement placé dans la partie traitement du contrôle de processus. La page Web du programme PHP ne lit le fichier inclus que lorsqu'elle le lit. Cette méthode peut simplifier le processus d'exécution du programme.

Il est recommandé d'utiliser require_once() et include_once() pour détecter si les fichiers sont inclus à plusieurs reprises.

Chargement automatique :

Fichier php référencé :

<?php
class shao//类名必须和文件名相同!!!
{
  public $xxx="666";
}

?>

Chargement automatique :

<?php
function autoload($asd)
{
  require $asd.".php";//可填地址查找
}
$shili = new shao();
echo $shili->xxx;
?>


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