Maison >développement back-end >tutoriel php >tutoriel sur les constantes magiques php

tutoriel sur les constantes magiques php

angryTom
angryTomoriginal
2019-07-16 10:04:022341parcourir

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 &#39;这是第 " &#39;  . __LINE__ . &#39; " 行&#39;;
?>

L'effet de fonctionnement est tel qu'indiqué sur l'image

tutoriel sur les constantes magiques php

__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 &#39;该文件位于 " &#39;  . __FILE__ . &#39; " &#39;;
?>

L'effet de fonctionnement est illustré dans la figure

tutoriel sur les constantes magiques php

__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 &#39;该文件位于 " &#39;  . __DIR__ . &#39; " &#39;;
?>

L'effet de course est comme indiqué dans la figure

tutoriel sur les constantes magiques php

__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  &#39;函数名为:&#39; . __FUNCTION__ ;
}
test();
?>

L'effet de fonctionnement est comme indiqué sur l'image

tutoriel sur les constantes magiques php

__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 &#39;类名为:&#39;  . __CLASS__ . "<br>";     //输出类名
echo  &#39;函数名为:&#39; . __FUNCTION__ ;        //输出方法名
}
}
$t = new test();    //创建对象,调用方法
$t->_print();
?>

运行效果如图所示

tutoriel sur les constantes magiques php

__METHOD__

类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。

<?php
header("Content-type:text/html;charset=utf-8");
class test {
function _print() {
echo &#39;类名为:&#39;  . __CLASS__ . "<br>";
echo  &#39;__FUNCTION__:&#39; . __FUNCTION__. "<br>" ;
echo  &#39;__METHOD__:&#39; .__METHOD__ ;
}
}
$t = new test();
$t->_print();
?>

运行效果如图所示

tutoriel sur les constantes magiques php

__NAMESPACE__

当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。

<?php
namespace MyProject;
header("Content-type:text/html;charset=utf-8");
echo &#39;命名空间为:"&#39;, __NAMESPACE__, &#39;"&#39;; // 输出 "MyProject"
?>

运行效果如图所示

tutoriel sur les constantes magiques php

如果你想了解更多关于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!

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