PHP переменная Магия
Любой PHP скрипт, чтобы запустить его предоставляет ряд предопределенных констант.
Тем не менее, многие константы определены различными расширениями, и загружаются только когда появятся эти расширения, либо динамически загружены, или была включена во время компиляции в него.
Есть восемь Магические константы и их значения, поскольку они изменяют положение в коде изменяется.
Например __LINE__ значение, на котором она зависит от строки сценария, чтобы решить. Эти специальные константы нечувствительны к регистру, следующим образом:
__LINE__
Файлы в номер текущей строки.
Пример:
<?php echo '这是第 “ ' . __LINE__ . ' ” 行'; ?>
В приведенном выше примере выход:
这是第 “ 2 ” 行
__FILE__
Полный путь и имя файла. При использовании в включаемый файл, а затем возвращает имя файла, который будет включен.
Начиная с PHP 4.0.2 и далее, __ FILE__ всегда содержит абсолютный путь (если он является символической ссылкой, это абсолютный путь разобран), и в этой предыдущей версии иногда содержат относительный путь.
Пример:
<?php echo '该文件位于 “ ' . __FILE__ . ' ” '; ?>
В приведенном выше примере выход:
该文件位于 “ E:\wamp\www\test\index.php ”
__DIR__
Файл каталога находится. Если включен в файл, каталог включается в файл возвращается.
Это эквивалентно имя папки (__ FILE__). Если это не корневой каталог, или имя каталога не содержит косую черту в конце. (PHP 5.3.0 добавить)
Пример:
<?php echo '该文件位于 “ ' . __DIR__ . ' ” '; ?>
В приведенном выше примере выход:
该文件位于 “ E:\wamp\www\test ”
__FUNCTION__
Название функции (PHP 4.3.0 добавлен). Так как PHP эта константа возвращает имя функции, как это было объявлено 5 случаев (с учетом регистра). В PHP 4 его значение всегда в нижнем регистре.
Пример:
<?php function test() { echo '函数名为:' . __FUNCTION__ ; } test(); ?>
В приведенном выше примере выход:
函数名为:test
__class__
Имя класса (PHP 4.3.0 добавлен). Так как PHP эта константа возвращает имя класса определяется как время от 5 (чувствителен к регистру).
В PHP 4 его значение всегда в нижнем регистре. Имя класса, включая роль района, который объявлен (например, Foo \ Bar). Обратите внимание, с PHP 5.4 года __class__ из признака также играют определенную роль. При использовании методов признака, __ метод class__ черта назвать имя класса.
Пример:
<?php <?php class test { function _print() { echo '类名为:' . __CLASS__ . "<br>"; echo '函数名为:' . __FUNCTION__ ; } } $t = new test(); $t->_print(); ?>
В приведенном выше примере выход:
类名为:test 函数名为:_print
__TRAIT__
Черта имя (PHP 5.4.0 добавлен). Начиная с PHP 5.4.0, PHP реализует метод повторного использования кода, называемых черт.
Черта имя включая роль района, который объявлен (например, Foo \ Bar).
Покрывается от базового класса наследует члены вставлено SayWorld Черту в методе MyHelloWorld. MyHelloWorld поведение последовательный подход, определенный в классе. Приоритет текущий метод в классе переопределяет признака метод, метод и признак, закрывающую метод базового класса.
<?php class Base { public function sayHello() { echo 'Hello '; } } trait SayWorld { public function sayHello() { parent::sayHello(); echo 'World!'; } } class MyHelloWorld extends Base { use SayWorld; } $o = new MyHelloWorld(); $o->sayHello(); ?>
Выше выход пример:
Hello World!
__METHOD__
Методы классов (PHP 5.0.0 добавлен). Этот метод возвращает имя, как это было объявлено (чувствителен к регистру).
Пример:
<?php function test() { echo '函数名为:' . __METHOD__ ; } test(); ?>
В приведенном выше примере выход:
函数名为:test
__NAMESPACE__
Название текущего пространства имен (с учетом регистра). Эта константа определяется во время компиляции (PHP 5.3.0 добавлен).
Пример:
<?php namespace MyProject; echo '命名空间为:"', __NAMESPACE__, '"'; // 输出 "MyProject" ?>
В приведенном выше примере выход:
命名空间为:"MyProject"