Que sont les constantes magiques en PHP ? Les constantes magiques sont des constantes prédéfinies en PHP qui peuvent changer en fonction de l'endroit où elles sont utilisées. Cet article vous présentera les constantes magiques PHP et présentera l'utilisation et les fonctions de base des constantes magiques.
PHP fournit un grand nombre de constantes prédéfinies à tout script qu'il exécute. Cependant, de nombreuses constantes sont définies par différentes bibliothèques d'extensions et n'apparaîtront que lorsque ces bibliothèques d'extensions seront chargées, soit dynamiquement, soit incluses au moment de la compilation. Il existe plusieurs constantes magiques dont les valeurs changent en fonction de leur emplacement dans le code.
__LINE__
Le numéro de ligne actuel dans le fichier.
<?php header("Content-type:text/html;charset=utf-8"); echo '这是第 " ' . __LINE__ . ' " 行'; ?>
L'effet de fonctionnement est tel qu'indiqué sur l'image
__FILE__
Le chemin complet et le nom du fichier . S'il est utilisé dans un fichier inclus, renvoie le nom du fichier inclus.
Depuis PHP 4.0.2, __FILE__ contient toujours un chemin absolu (ou le chemin absolu résolu s'il s'agit d'un lien symbolique), alors que les versions antérieures contenaient parfois un chemin relatif.
<?php header("Content-type:text/html;charset=utf-8"); echo '该文件位于 " ' . __FILE__ . ' " '; ?>
L'effet de fonctionnement est illustré dans la figure
__DIR__
Le répertoire où se trouve le fichier . S'il est utilisé dans un fichier inclus, renvoie le répertoire où se trouve le fichier inclus.
C'est équivalent à dirname(__FILE__). Les noms de répertoire n'incluent pas la barre oblique finale, sauf s'il s'agit du répertoire racine. (Nouveau dans PHP 5.3.0)
<?php header("Content-type:text/html;charset=utf-8"); echo '该文件位于 " ' . __DIR__ . ' " '; ?>
L'effet de course est comme indiqué dans la figure
__FUNCTION__
Renvoie le nom de la fonction (nouveau en PHP 4.3.0).
Depuis PHP 5 cette constante renvoie le nom de la fonction lors de sa définition (sensible à la casse). En PHP 4, cette valeur est toujours en minuscule.
<?php header("Content-type:text/html;charset=utf-8"); function test() { echo '函数名为:' . __FUNCTION__ ; } test(); ?>
L'effet de fonctionnement est comme indiqué sur l'image
__CLASS__
返回类的名称(PHP 4.3.0 新加)。
自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。类名包括其被声明的作用区域(例如 Foo\Bar)。注意自 PHP 5.4 起 __CLASS__ 对 trait 也起作用。当用在 trait 方法中时,__CLASS__ 是调用 trait 方法的类的名字。
<?php header("Content-type:text/html;charset=utf-8"); class test { function _print() { echo '类名为:' . __CLASS__ . "<br>"; //输出类名 echo '函数名为:' . __FUNCTION__ ; //输出方法名 } } $t = new test(); //创建对象,调用方法 $t->_print(); ?>
运行效果如图所示
__METHOD__
类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
<?php header("Content-type:text/html;charset=utf-8"); class test { function _print() { echo '类名为:' . __CLASS__ . "<br>"; echo '__FUNCTION__:' . __FUNCTION__. "<br>" ; echo '__METHOD__:' .__METHOD__ ; } } $t = new test(); $t->_print(); ?>
运行效果如图所示
__NAMESPACE__
当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。
<?php namespace MyProject; header("Content-type:text/html;charset=utf-8"); echo '命名空间为:"', __NAMESPACE__, '"'; // 输出 "MyProject" ?>
运行效果如图所示
如果你想了解更多关于PHP的知识可以到网站的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!