Maison  >  Article  >  développement back-end  >  PHP prédéfini : comprendre les constantes prédéfinies et les variables superglobales

PHP prédéfini : comprendre les constantes prédéfinies et les variables superglobales

PHPz
PHPzoriginal
2023-03-21 14:52:391870parcourir

PHP est un langage dynamique, et le code écrit par les développeurs exécutera la logique correspondante. Mais lors du processus d'exécution du code, nous avons souvent besoin de quelque chose comme des variables d'environnement ou des constantes système pour nous aider à accomplir certaines tâches. PHP fournit des variables prédéfinies (ou intégrées) qui permettent aux développeurs d'obtenir et de traiter rapidement certaines informations importantes. Ces variables sont divisées en deux types : les constantes prédéfinies et les variables superglobales.

Constantes prédéfinies

Les constantes prédéfinies ont une définition particulière en PHP : elles sont définies avant le démarrage du script PHP. Les constantes prédéfinies couramment utilisées incluent :

  • LINE : représente le nombre de lignes de code.

  • FILE : représente le chemin et le nom du fichier.

  • DIR : représente le chemin absolu du répertoire où se trouve le fichier.

  • FUNCTION : représente le nom de la fonction.

  • CLASS : représente le nom de la classe, y compris l'espace de noms.

  • TRAIT : représente le nom du trait, y compris l'espace de noms.

  • METHOD : représente le nom de la méthode de la classe.

  • NAMESPACE : représente le nom actuel de l'espace de noms.

Ces constantes prédéfinies sont lisibles mais ne peuvent pas être réaffectées, par exemple :

<?php
echo __FILE__; // 输出当前文件的路径
echo __LINE__; // 输出当前代码的行数
?>

Le but des constantes prédéfinies est d'aider les développeurs à localiser et déboguer rapidement le code, et peuvent être utilisées dans les rapports d'erreurs, ou pour enregistrer le chemin d'exécution du code et horodatage, etc.

Variables super globales

Les variables super globales sont des variables accessibles n'importe où dans le script PHP, sans se soucier de la portée ou du passage des paramètres de fonction. Toutes les variables superglobales sont des tableaux de variables globales commençant par un trait de soulignement, et les noms des tableaux sont différents selon les versions. Il existe les types de variables superglobales suivants :

  • $GLOBALS : un tableau de portée globale contenant toutes les variables. Le nom de la variable est la clé du tableau.

  • $_SERVER : Informations sur le serveur et l'environnement d'exécution. Par exemple : $_SERVER['PHP_SELF'] renvoie le nom de fichier du script en cours d'exécution.

  • $_GET : variable HTTP GET.

  • $_POST : variable HTTP POST.

  • $_FILES : variable de téléchargement de fichier HTTP.

  • $_REQUEST : variable de requête HTTP, qui contient également le contenu des variables $_GET, $_POST et $_COOKIE.

  • $_SESSION : Variable de session.

  • $_COOKIE : Cookies HTTP.

  • $_ENV : variable d'environnement.

$_SERVER Exemple de variable super globale :

<?php
echo $_SERVER[&#39;PHP_SELF&#39;]; //显示当前执行脚本的文件名,即 index.php
echo $_SERVER[&#39;SERVER_NAME&#39;]; // 显示当前运行脚本所在的服务器的主机名(本机 IP)
echo $_SERVER[&#39;HTTP_REFERER&#39;]; // 获取网页的来源地址 (referer)
echo $_SERVER[&#39;DOCUMENT_ROOT&#39;]; // 显示当前执行脚本的文档根目录(/var/www/)
?>

L'avantage des variables super globales est que lorsque vous avez besoin d'accéder à des variables globales, vous n'avez pas besoin de transmettre ces variables dans chaque fonction. Cependant, comme ces variables sont directement accessibles n'importe où dans n'importe quel script, cela entraîne également des problèmes de sécurité. Les attaquants peuvent utiliser certaines vulnérabilités pour modifier le contenu de ces variables globales, ce qui amène le système à générer des exceptions, ainsi qu'à déboguer et analyser les raisons de ces variables. les exceptions seront également plus difficiles.

Conclusion :

Les constantes prédéfinies et les variables superglobales sont quelques-unes des variables intégrées à PHP. Leur existence rend le développement et le débogage des programmeurs PHP plus pratiques et efficaces. Cependant, lorsque vous les utilisez, vous devez également prendre en compte les problèmes de sécurité et les détails spécifiques de mise en œuvre pour éviter des problèmes inattendus.

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