English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве вы узнаете, как использовать магические константы PHP.
ВКонстанты PHPВ этой главе мы изучили, как определять и использовать константы в скриптах PHP.
Кроме того, PHP предоставляет набор специальных предопределенных констант, которые изменяются в зависимости от места их использования. Эти константы называются магическими константами. Например, значение __line__ зависит от строки, в которой используется в скрипте.
Магические константы начинаются с двух подчеркивающих знаков и заканчиваются двумя подчеркивающими знаками. В этой части описаны некоторые из наиболее полезных магических констант PHP.
__LINE__ константа возвращает текущий номер строки файла, как показано ниже:
<?php echo "Номер строки" . __LINE__ . "<br>"; // Вывод: Номер строки 2 echo "Номер строки" . __LINE__ . "<br>"; // Вывод: Номер строки 3 echo "Line number " . __LINE__ . "<br>"; // Вывод: Line number 4 ?>Тестировать看看‹/›
__FILE__ константа возвращает полный путь и имя выполняемого PHP файла. Если используется в include, то возвращает имя файла, который включает.includeЕсли используется в include, то возвращает имя файла, который включает.
<?php // Показать абсолютный путь к файлу echo "Полный путь к файлу: " . __FILE__; ?>Тестировать看看‹/›
__DIR__ константа возвращает каталог файла. Если используется в include, то возвращает каталог файла, который включает.
<?php // Показать каталог файла echo "Каталог файла: " . __DIR__; ?>Тестировать看看‹/›
__FUNCTION__ константа возвращает имя текущей функции.
<?php function myFunction(){ echo "Название функции - " . __FUNCTION__; } myFunction(); // Вывод: Название функции - myFunction ?>Тестировать看看‹/›
__CLASS__ константа возвращает имя текущего класса.классимя. Это пример:
<?php class MyClass { public function getClassName(){ return __CLASS__; } } $obj = new MyClass(); echo $obj->getClassName(); // Вывод: MyClass ?>Тестировать看看‹/›
__METHOD__ константа возвращает имя текущего метода класса.
<?php class Sample { public function myMethod(){ echo __METHOD__; } } $obj = new Sample(); $obj->myMethod(); // Вывод: Sample::myMethod ?>Тестировать看看‹/›
__NAMESPACE__ константа возвращает имя текущего пространства имен.
<?php namespace MyNamespace; class MyClass { public function getNamespace(){ return __NAMESPACE__; } } $obj = new MyClass(); echo $obj->getNamespace(); // Вывод: MyNamespace ?>Тестировать看看‹/›