Магические константы PHP - httpdoc.ru

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

Магические константы PHP можно сказать, некоторые предопределенные константы, которые обеспечивают некоторые специальные функции для языка PHP. Их можно использовать путем встраивания echo() , и каждый из них предоставляет особый вид информации, которая может понадобиться программисту.

Они называются магическими константами, потому что, в отличие от обычных констант, магические константы не всегда дают одно и то же значение, т. Е. Они будут иметь разные значения для разных сценариев. Например, магическая константа, которая возвращает номер строки, в которой она была использована, будет давать разные значения для разных строк.

Эти магические константы не чувствительны к регистру, поэтому никаких проблем с регистром нет. Всегда помните, что магические константы начинаются и заканчиваются двойным подчеркиванием (__) . Ниже приведены некоторые магические константы с надлежащим объяснением и примерами, которые помогут вам очень легко понять это. Продолжайте читать.

__LINE__

__LINE__ Постоянная магия , returns the line number на котором она была использована. Например, если вы используете его в первой строке, он вернет 1, в 3-й строке он вернет 3 и так далее. Взгляните на приведенный ниже пример, чтобы понять, как его можно использовать с echo ().

Пример
<?php
echo "Line number " . __LINE__ . "<br>"; "color:green;">// Displays: Line number 2
echo "Line number " . __LINE__ . "<br>"; // Displays: Line number 3
echo "Line number " . __LINE__ . "<br>"; // Displays: Line number 4
?>

Выход

Номер строки 2 Номер
строки 3 Номер
строки 4

__FILE__

__FILE__ Постоянная магия , returns the exact path of the file в которой он используется в сочетании с эхом () , но если вы используете его с включать () , то он возвращает имя файла , который включен. Взгляните на приведенный ниже пример, чтобы понять это правильно.

Пример
<?php
"color:green;">// Displays the absolute path of this file
echo "The full path of this file is: " . __FILE__;
?>

__FUNCTION__

__FUNCTION__ Постоянная магия returns the name of the function inside which it is been used . Это константа, чувствительная к регистру, поэтому она вернет имя функции в том же регистре, в котором оно написано. Ранее в PHP 4 он возвращал имя функции в нижнем регистре, которое позже было изменено в PHP 5.

Пример
<?php
function myFunction(){
    echo  "The function name is - " . __FUNCTION__;
}
myFunction(); "color:green;">// Displays: The function name is - myFunction
?>

Выход

Имя функции - myFunction

__CLASS__

__CLASS__ Магическая константа работает так же , как __FUNCTION__ , но it returns class name . Он также чувствителен к регистру, поэтому он вернет имя класса в том же самом регистре, в котором он был объявлен. См. Пример.

Пример
<?php
class MyClass
{
    public function getClassName(){
        return __CLASS__;
    }
}
$obj = new MyClass();
echo $obj->getClassName(); "color:green;">// Displays: MyClass
?>

Выход

Мои занятия

__METHOD__

__METHOD__ Постоянная магия return the name of the method inside which it has been used . Он также чувствителен к регистру, поэтому он вернет то же имя, что и было объявлено.


Пример
<?php
class Sample
{
    public function myMethod(){
        echo __METHOD__;
    }
}
$obj = new Sample();
$obj->myMethod();  "color:green;"> // Displays: Sample::myMethod
?>

Выход

Пример :: myMethod

__DIR__

__DIR__ Постоянная магия returns the directory of the file . Если используется внутри включения, возвращается каталог включенного файла.

Пример
<?php
"color:green;">  // Displays the directory of this file 
echo "The directory of this file is: " . __DIR__;
?>

__NAMESPACE__

__NAMESPACE__ Постоянная магия returns the name of the current namespace .

Пример
<?php
namespace MyNamespace;
class MyClass
{
    public function getNamespace(){
        return __NAMESPACE__;
    }
}
$obj = new MyClass();
echo $obj->getNamespace(); // Displays: MyNamespace
?>

Выход

MyNamespace

__trait__

__trait__ Постоянная магия return the trait name where this magic constant is included . Взгляните на приведенный ниже пример, чтобы понять, как это работает.

Пример
<?php 
trait CodeRepublics{   
    function cr(){   
        echo __trait__;   
        }   
    }   
    class Company{   
        use CodeRepublics;   
        }   
    $a = new Company;   
    $a->cr();   
?>

Выход

CodeRepublics

Различия между константами и переменными:

  • После определения значение константы нельзя изменить, но можно изменить значение переменной.
  • Знак «$» не используется в константах, но является обязательным в переменных.
  • Для создания констант нужна функция define (), но переменные можно определить с помощью простого присваивания.
  • По умолчанию константы являются глобальными, но не переменными.