Блог веб разработки статьи | видеообзоры | исходный код

Блог веб разработки статьи | видеообзоры | исходный код

webfanat вконтакте webfanat youtube

Волшебные Константы php

Волшебные Константы php

Доброго времени суток. В данной статье мы рассмотрим встроенные константы php и научимся с ними работать.

Начнем с самой используемой константы __DIR__

echo __DIR__;

Эта константа выводим полный путь до директории в которой расположен данный файл в котором мы к ней обратились.

Как видите для вызова встроенных(волшебных) констант используется знаки нижнего подчеркивания - __Название волшебной константы__.

Мы также можем получить полный путь до текущего файла

echo __FILE__;

используя константу __FILE__.

С помощью константы __LINE__

echo __LINE__;

мы получим номер строки файла в которой была вызвана данная константа. Это удобно использовать при отладке когда мы работаем с большими кусочками кода. Пример:

echo 'Функция myFunction: '.((int)__LINE__+1).' строка';
function myFunction(){
    echo __FUNCTION__;
}
myFunction();

c помощью константы __FUNCTION__ мы получаем название функции в которой мы обратились к данной константе. Причем если у нас в данном документе используется пространство имен. То вернется:

название пространcтво имен \ название функции

Кто не знает что такое пространство имен в php переходите для ознакомления по этой ссылке

Пространство имен в php

Едем дальше. Для определения имени вызываемого класса мы можем воспользоваться константой __CLASS__

class myClass{
    public function __construct()
    {
        echo __CLASS__;
    }

}

$myClass = new myClass();

здесь мы получим имя класса.

Мы также можем получить название используемого метода класса и даже трейта:

class myClass{

    public function myMethod(){
         echo __METHOD__;
    }
    

}
$myClass = new myClass();

заметьте что при получении названия метода через константу __METHOD__ мы автоматически получаем название его класса.

Для получении названия метода трейта нам нужно воспользоваться константой __TRAIT__

trait myTrait{
    function myMethodTrait(){
        echo __TRAIT__;
    }
}
class myClass{
    use myTrait;

}
$myClass = new myClass();
$myClass->myMethodTrait();

Заметьте что название класса мы уже не получаем так как метод трейта ему не принадлежит.

Что такое трейты и как с ними работать вы можете узнать в данной статье

Трейты в php

И напоследок рассмотрим константу __NAMESPACE__

namespace myNamespace;

echo __NAMESPACE__;

С помощью нее вы можете узнать название пространства имен используемое в данном контексте документа.

На этом дорогие друзья данная статья подошла к концу.

Желаю вам успехов и удачи! Пока!

Оцените статью:

Статьи

Комментарии

Внимание!!! Комментарий теперь перед публикацией проходит модерацию

Все комментарии отправлены на модерацию

Реклама

Запись экрана

Данное расширение позволяет записывать экран и выводит видео в формате webm