Maison >développement back-end >Problème PHP >Il existe plusieurs façons de référencer des fichiers en php
Il existe 4 façons de référencer des fichiers en PHP : 1. Utilisez la fonction include(), qui peut être placée n'importe où dans le script PHP ; 2. la fonction require(), généralement placée au début du PHP ; script ; 3. fonction include_once() ; 4. fonction require_once().
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3
Il existe quatre instructions dans lesquelles charger des fichiers PHP : include, require, include_once, require_once.
require : La fonction require est généralement placée au début du script PHP que PHP lira dans la spécification require avant. l'exécutant. fichier qui contient et tente d'exécuter le fichier de script importé. La façon dont require fonctionne est d'améliorer l'efficacité d'exécution de PHP. Une fois interprété une fois dans la même page Web, il ne sera pas interprété une deuxième fois. Mais de la même manière, comme il n'interprétera pas de manière répétée le fichier importé, vous devez utiliser include lorsque vous utilisez des boucles ou des instructions conditionnelles pour introduire des fichiers dans PHP.
include : peut être placé n'importe où dans le script PHP, généralement dans la partie traitement du contrôle de processus. Lorsque le script PHP est exécuté dans le fichier spécifié par include, il sera inclus et tenté de s'exécuter. Cette méthode peut simplifier le processus d'exécution du programme. Lorsqu'il rencontre le même fichier pour la deuxième fois, PHP le réinterprètera toujours à nouveau. L'efficacité d'exécution de include est bien inférieure à celle de require. En même temps, lorsque la fonction définie par l'utilisateur est incluse dans le fichier importé, PHP aura des problèmes de définition répétée des fonctions pendant le processus d'interprétation.
require_once / include_once : ont respectivement la même fonction que require / include. La différence est que lorsqu'ils sont exécutés, ils vérifieront d'abord si le contenu cible a déjà été importé. a été importé, le même contenu ne sera alors plus réintroduit.
include a une valeur de retour, tandis que require n'a pas de valeur de retour
include est chargement du fichier En cas d'échec, un avertissement (E_WARNING) est généré et le script continue son exécution après l'apparition de l'erreur. L'inclusion est donc utilisée lorsque vous souhaitez poursuivre l'exécution et afficher les résultats à l'utilisateur.
//test1.php <?php include './tsest.php'; echo 'this is test1'; ?> //test2.php <?php echo 'this is test2\n'; function test() { echo 'this is test\n'; } ?> //结果: this is test1
require générera une erreur fatale (E_COMPILE_ERROR) lors de l'échec du chargement, et le script cessera de s'exécuter une fois l'erreur survenue. Généralement utilisé lorsque le code ultérieur dépend du fichier chargé.
//test1.php <?php require './tsest.php'; echo 'this is test1'; ?> //test2.php <?php echo 'this is test2\n'; function test() { echo 'this is test\n'; } ?>
Résultat :
Les fichiers chargés par include ne seront pas jugés quant à savoir s'ils sont des doublons. Tant qu'il y a une instruction include, ils seront chargés une seule fois (même si un chargement en double peut se produire). Lorsque include_once charge un fichier, il y aura un mécanisme de jugement interne pour déterminer si le code précédent a été chargé. Ce qu'il faut noter ici, c'est que include_once est jugé en fonction du fait qu'un fichier avec le même chemin a été précédemment importé, plutôt qu'en fonction du contenu du fichier (c'est-à-dire que le contenu des deux fichiers à importer est le même). , et utiliser include_once en introduira toujours deux).
//test1.php <?php include './test2.php'; echo 'this is test1'; include './test2.php'; ?> //test2.php <?php echo 'this is test2'; ?> //结果: this is test2this is test1this is test2 //test1.php <?php include './test2.php'; echo 'this is test1'; include_once './test2.php'; ?> //test2.php <?php echo 'this is test2'; ?> //结果: this is test2this is test1 //test1.php <?php include_once './test2.php'; echo 'this is test1'; include './test2.php'; ?> //test2.php <?php echo 'this is test2'; ?> //结果: this is test2this is test1this is test2 //test1.php <?php include_once './test2.php'; echo 'this is test1'; include_once './test2.php'; ?> //test2.php <?php echo 'this is test2'; ?> //结果: this is test2this is test1
require et require_once : La même différence que include et include_once.
1. Quittez le mode script php à partir de l'instruction include (require) (entrez en mode code html)
2. écrivez le code dans le fichier et essayez d'exécuter
3. Quittez le mode html, rentrez dans le mode script php et continuez l'exécution du programme de script suivant
//test1.php 主文件开始位置: <?php echo "<br> 主文件中位置 A"; include "./test2.php"; //要载入的文件 echo "<br> 主文件中位置 B"; ?> <br> 主文件结束位置 //test2.php <br> 被载入文件位置 1 <?php echo "<br> 被载入文件位置 2"; ?> <br> 被载入文件位置 3
Résultats :
Analyse :
Comme mentionné ci-dessus, incluez a une valeur de retour, mais require n'en a pas Value
.对于include,如果载入成功,有返回值,返回值为1;如果载入失败,则返回false.
对于require,如果载入成功,有返回值,返回值为1;如果载入失败,无返回值。
//test1.php <?php $a = include "./test2.php"; var_dump($a); echo "<br>"; $b = include "./test2.phps"; var_dump($b); echo "<br>"; $c = require "./test2.php"; var_dump($c); echo "<br>"; $d = require "./test2.phps"; var_dump($d); ?>
输出:
当文件中有return:
当被载入文件中有return语句时,会有另外的机制,此时return语句的作用是终止载入过程,即被载入文件中return语句的后续代码不再载入。return语句也可以用于被载入文件载入时返回一个数据。
//test1.php <?php $a = include "./test2.php"; echo "<br>"; var_dump($a); ?> //test2.php //该文件中有return语句 <?php $b = 'test2'; echo "被载入的文件:A 位置"; return $b; echo "<br 被载入的文件: B 位置"; ?>
结果:
推荐学习:《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!