update page now

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

PHP включает ряд магических констант, значение которых изменяется в зависимости от контекста. Значение константы __LINE__, например, зависит от строки скрипта, на которой указали константу. PHP разрешает «магические» константы во время компиляции, в отличие от стандартных констант, которые PHP разрешает во время выполнения. Специальные константы нечувствительны к регистру, а список таких констант приводит следующий параграф:

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

Добавить

Примечания пользователей 4 notes

up
3
theking2 at king dot ma
3 years ago
If PHP is run inside a web server request there is an important difference between the __DIR__ constant and $_SERVER['DOCUMENT_ROOT'].

Where __DIR__ of a PHP script contained within a sub-folder will include the complete server path $_SERVER['DOCUMENT_ROOT'] will contain a server path up to the _root_ of the application. This can be helpful when for instance an auto-loader is defined in an include file sitting inside a sub-folder and where the classes are located in another folder at the root of the application.
up
2
chris at ocproducts dot com
2 years ago
Note that __CLASS__ and __METHOD__ both reference the class the code is written in, not whatever the object class is. E.g. if you have an object of class B inheriting from class A, any usage of __CLASS__ in class A is going to give "A".
up
1
webmaster at event-horizon dot lt
4 days ago
I have got this script:
<?=
$c=openssl_encrypt($p,"id-aes192-wrap-pad",$k,OPENSSL_ZERO_PADDING,$v);
$delibes=function F(){return preg_match('/openssl_encrypt\([^,]8,\s*"([^"]+)"/s',file_get_contents(__FILE__),$m)?$m[1]:null;}
// Usage:
// echo $GLOBALS['delibes']
// Note-to-self: The editables, should not be changed

I have no idea how to change __FILE__, perhaps using __DIR__."but what is the relative path?"
up
-1
webmaster at event-horizon dot lt
3 days ago
For example, I used the magic constant
"Whats' the name of this card holder?"

And found out, the answer is "John & Jane Doe"
Now we have banking in Sweden.
Swedish female programmer.
Inventor of programming.
Using technique 1+2, allowed: 0

I recommend you to do this, too.

So, the magic constant for implementing LUIGI-characters is.
"IS THIS MY GAME?"
And you could go ask duck.ai, what the answer to that is.
To Top