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

Есть девять магических констант, которые меняют своё значение в зависимости от контекста, в котором они используются. Например, значение __LINE__ зависит от строки в скрипте, на которой эта константа указана. Все магические константы разрешаются во время компиляции, в отличие от обычных констант, которые разрешаются во время выполнения. Специальные константы нечувствительны к регистру и их список приведён ниже:

Магические константы PHP
Имя Описание
__LINE__ Текущий номер строки в файле.
__FILE__ Полный путь и имя текущего файла с развёрнутыми симлинками. Если используется внутри подключаемого файла, то возвращается имя данного файла.
__DIR__ Директория файла. Если используется внутри подключаемого файла, то возвращается директория этого файла. Это эквивалентно вызову dirname(__FILE__). Возвращаемое имя директории не оканчивается на слеш, за исключением корневой директории.
__FUNCTION__ Имя функции или {closure} в случае анонимной функции.
__CLASS__ Имя класса. Это имя содержит название пространства имён, в котором класс был объявлен (например, Foo\Bar). При использовании в методах трейтов __CLASS__ является именем класса, в котором эти методы используется.
__TRAIT__ Имя трейта. Это имя содержит название пространства имён, в котором трейт был объявлен (например, Foo\Bar).
__METHOD__ Имя метода класса.
__NAMESPACE__ Имя текущего пространства имён.
ClassName::class Полное имя класса.

add a note add a note

User Contributed Notes 1 note

up
1
sham dot hrm at gmail dot com
3 years ago
You can implement magic constants as given below example:

<?php
namespace UserModel {
    class
User {
        public function
__construct() {
            echo
'I am in '.__CLASS__.'</br>';
        }
        public function
showData() {
            echo
'I am in '.__METHOD__.'</br>';
        }
    }
   
   
$obj = new User;
   
$obj->showData();
    echo
__NAMESPACE__;
}
?>
To Top