English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP базовый курс

PHP продвинутый курс

PHP & MySQL

PHP справочник

Магические константы PHP

В этом руководстве вы узнаете, как использовать магические константы PHP.

Что такое магические константы

ВКонстанты PHPВ этой главе мы изучили, как определять и использовать константы в скриптах PHP.

Кроме того, PHP предоставляет набор специальных предопределенных констант, которые изменяются в зависимости от места их использования. Эти константы называются магическими константами. Например, значение __line__ зависит от строки, в которой используется в скрипте.

Магические константы начинаются с двух подчеркивающих знаков и заканчиваются двумя подчеркивающими знаками. В этой части описаны некоторые из наиболее полезных магических констант PHP.

__LINE__

__LINE__ константа возвращает текущий номер строки файла, как показано ниже:

<?php
echo "Номер строки" . __LINE__ . "<br>"; // Вывод: Номер строки 2
echo "Номер строки" . __LINE__ . "<br>"; // Вывод: Номер строки 3
echo "Line number " . __LINE__ . "<br>"; // Вывод: Line number 4
?>
Тестировать看看‹/›

__FILE__

__FILE__ константа возвращает полный путь и имя выполняемого PHP файла. Если используется в include, то возвращает имя файла, который включает.includeЕсли используется в include, то возвращает имя файла, который включает.

<?php
// Показать абсолютный путь к файлу
echo "Полный путь к файлу: " . __FILE__;
?>
Тестировать看看‹/›

__DIR__

__DIR__ константа возвращает каталог файла. Если используется в include, то возвращает каталог файла, который включает.

<?php
// Показать каталог файла
echo "Каталог файла: " . __DIR__;
?>
Тестировать看看‹/›

__FUNCTION__

__FUNCTION__ константа возвращает имя текущей функции.

<?php
function myFunction(){
    echo "Название функции - " . __FUNCTION__;
}
myFunction(); // Вывод: Название функции - myFunction
?>
Тестировать看看‹/›

__CLASS__

__CLASS__ константа возвращает имя текущего класса.классимя. Это пример:

<?php
class MyClass
{
    public function getClassName(){
        return __CLASS__;
    }
}
$obj = new MyClass();
echo $obj->getClassName(); // Вывод: MyClass
?>
Тестировать看看‹/›

__METHOD__

__METHOD__ константа возвращает имя текущего метода класса.

<?php
class Sample
{
    public function myMethod(){
        echo __METHOD__;
    }
}
$obj = new Sample();
$obj->myMethod(); // Вывод: Sample::myMethod
?>
Тестировать看看‹/›

__NAMESPACE__

__NAMESPACE__ константа возвращает имя текущего пространства имен.

<?php
namespace MyNamespace;
class MyClass
{
    public function getNamespace(){
        return __NAMESPACE__;
    }
}
$obj = new MyClass();
echo $obj->getNamespace(); // Вывод: MyNamespace
?>
Тестировать看看‹/›