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

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

Кандинский 3.1 и обновление телеграмм бота

В статье описаны изменения телеграм бота и сравниваются результаты генерации изображений в новой и предыдущей версиях kandinsky.

Ncdu: Идеальный инструмент для анализа дискового пространства

ncdu — удобный инструмент для анализа и управления дисковым пространством. Узнайте, как установить и использовать ncdu, основные команды и преимущества по сравнению с классическим du.

Bitrix удалить директорию

В статье даны примеры использования метода \Bitrix\Main\IO\Directory::deleteDirectory() для удобного удаления директории.

Bitrix проверить входит ли пользователь в группу

В этой статье представлены примеры кода, которые помогут вам определить, принадлежит ли пользователь к конкретной группе.

Полезные материалы по Битрикс

Решили собрать все полезные материалы, которые могут пригодится при работе с Битрикс, в одной статье.

Магия CSS: сделать изображение чёрно-белым

Узнайте, как использовать свойство CSS filter с параметром grayscale для создания черно-белых изображений. В статье написано как применять это свойство и есть наглядный пример его работы.

Комментарии

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