le fichier php contient des fonctions
Dans le développement réel, il est souvent nécessaire de mettre le code commun du programme dans un fichier, et les fichiers utilisant ces codes n'ont besoin que d'inclure ce fichier. Cette méthode contribue à améliorer la réutilisabilité du code et apporte une grande commodité à l’écriture et à la maintenance du code. En PHP, il existe quatre méthodes : require, require_once, include et include-once pour inclure un fichier.
Comparons leurs différences?:
函數(shù) | 包含失敗 | 特點(diǎn) |
---|---|---|
Inlcude | 返回一條警告 | 文件繼續(xù)向下執(zhí)行。通常用于動(dòng)態(tài)包含 |
Require | 一個(gè)致命的錯(cuò) | 代碼就不會(huì)繼續(xù)向下執(zhí)行。通常包含極為重要的文件,整個(gè)代碼甭想執(zhí)行 |
Include_once | 返回一條警告 | 除了原有include的功能以外,它還會(huì)做once檢測(cè),如果文件曾經(jīng)已經(jīng)被被包含過,不再包含 |
Require_once | 一個(gè)致命的錯(cuò) | 除了原的功能一外,會(huì)做一次once檢測(cè),防止文件反復(fù)被包含 |
Remarque?:
1. Utilisez _once avec une fois de moins, car cela consommera plus de ressources pour effectuer le travail de détection.
2, Extra Advanced
Les fichiers d'inclusion ne doivent être compilés qu'une seule fois, car chaque fois que l'inclusion est incluse, le code correspondant sera à nouveau exécuté. Comment réduire le processus de ré-analyse lorsque l'inclusion est à nouveau exécutée. .
Faisons quelques expériences?:
1. include contient la fonction de la fonction.
Créer un fichier Functions.php et y écrire deux fonctions :
<?php //functions.php文件 function demo(){ echo 'aaaa'; } function test(){ echo 'cccdddd'; } ?>
Dans le même répertoire que Functions.php, je crée un fichier user.php et j'ajoute le fichier Functions.php inclus . De cette fa?on, mes fonctions peuvent être placées spécifiquement dans function.php Lorsque ces fonctions sont nécessaires, je les inclurai à partir de là?:
<?php //user.php include 'functions.php'; //可以直接調(diào)用 demo(); test(); ?>
Je connais la fonction include grace à l'exemple ci-dessus. Ensuite, nous comparons include et require?:
Dans le code, nous utilisons d'abord include pour inclure le fichier test.php inexistant,
<?php //user.php include 'functions.php'; include 'test.php'; //可以直接調(diào)用 demo(); test(); ?>
puis utilisons require pour inclure l'inexistant Fichier test.php?:
<?php //user.php include 'functions.php'; require 'test.php'; //可以直接調(diào)用 demo(); test(); ?>
Grace à la comparaison des exemples ci-dessus, nous avons trouvé?:
Si le fichier test.php n'existe pas, include émettra un avertissement et continuera à exécuter la démo () et test() fonctions.
Et require signale directement une erreur, et les fonctions demo() et test() ne peuvent pas continuer à s'exécuter.
Nous le savons grace au tableau?: la différence entre include et include_once est de détecter s'il est inclus à plusieurs reprises. Si include_once est inclus à plusieurs reprises, le fichier correspondant ne sera plus inclus, alors que include ne s'en soucie pas. Que le fichier ait été importé ou non, importez-le à nouveau.
Essayons le même user.php que nous venons de refaire. Nous incluons function.php deux fois, en utilisant respectivement include et include_once?:
<?php //user.php //這兒被包含了兩次同樣的函數(shù)定義文件喲 include 'functions.php'; include 'functions.php'; //可以直接調(diào)用 demo(); test(); ?>
Changez-le en include_once et réessayez?:
<?php
<?php //user.php //這兒被包含了兩次同樣的函數(shù)定義文件喲 include_once 'functions.php'; include_once 'functions.php'; //可以直接調(diào)用 demo(); test(); ?>
Après l'avoir exécuté séparément, vous constaterez que - include Included a signalé l'erreur suivante lors de l'introduction de function.php deux fois cette fois?:
L'invite dans l'image ci-dessus est que la fonction demo() ne peut pas être redéfinie.
Comme nous l'avons mentionné dans le chapitre sur la définition des fonctions, une fonction ne peut pas être définie deux fois, sinon une erreur sera signalée. Parce que nous avons inclus function.php deux fois, il a été exécuté deux fois, cette erreur a donc été signalée.
La raison pour laquelle include_once ne signale pas d'erreur est qu'il détecte que function.php a déjà été inclus et ne l'inclut plus.
Quant aux fonctions de require et require_once, pouvez-vous utiliser votre petit cerveau le plus intelligent pour les déduire?? require_once a deux caractéristiques?:
1. Le fichier inclus doit exister, sinon l'exécution s'arrêtera
2. Des vérifications d'inclusion répétées seront effectuées