PHP получить путь до файла где объявлен класс

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

Есть 2 варианта использования:

Вариант 1 На основе имени класса

// в конструктор вместо строки можно передавать объект
$a = new \ReflectionClass('ZN\Database\InternalDB');
var_dump($a->getFileName());
//Результат:  htdocs/develop/Internal/Database/DB/InternalDB.php

Вариант 2 На основе объекта

$obj = new MySuperClass();
$a = new \ReflectionClass($obj);
var_dump($a->getFileName());
// Результат:  /var/www/project/MySuperClass.php

Класс не найден

В случаи если класс не найден, то будет вызвано исключение ReflectionException.

[ReflectionException] 
Class MySuperClass does not exist (-1)

Рубрики: PHP

Если есть вопросы, что-то в статье не понятно или нашли ошибку, напишите об этом в комментариях, все комментарии читаются и по возможности материал будет доработан.
Популярные статьи

Как в bitrix получить параметры запроса

Из этой статьи вы узнаете, какие классы и методы в bitrix помогут получить данные запроса без использования глобальных переменных. Это важный навык, который обязательно пригодится в вашей работе.

Bitrix получить путь до компонента

В статье приводится пример кода для получения директории в которой находится файл компонента.

CSS простой горизонтальный слайдер

В статье приводится пример кода для создания простого горизонтального слайдера с использованием CSS и небольшим количеством JS кода. Для реализации потребуется всего около 60 строк стилей и js кода.

Bitrix получить значения списочного поля

В статье приводится пример кода для получения всех вариантов значений пользовательского поля с типом "Список". Так же описано как можно получить конкретный вариант значения поля.

Bitrix регистрация своего события

В статье приводится пример регистрации собственного события в bitrix и добавления на него обработчика.

Bitrix подключить модуль

Так как bitrix состоит из большого количества различных модулей, знать как их правильно подключать просто необходимо.

Комментарии

Комментариев пока нет
Данный сайт использует файлы cookies. Продолжая просмотр сайта, вы соглашаетесь с использованием файлов cookies.
ОК