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)
Если есть вопросы, что-то в статье не понятно или нашли ошибку, напишите об этом в комментариях, все комментарии читаются и по возможности материал будет доработан.
Популярные статьи
В этой статье мы рассмотрим реальный пример использования ИИ (chatGpt, gigachat,YandexGPT) в работе для решения вопрос по верстке (css)
Что такое центральный банк и как он влияет на экономику? Узнайте о функциях, задачах и механизмах работы центрального банка. О том как центральный банк регулирует финансовую систему и обеспечивает стабильность экономики.
Библиотеки помогают существенно сократить время разработки, поэтому иметь под рукой проверенные библиотеки для решения повседневных задач будет полезно.
HighloadblockHelper облегчает работу с Highload-блоками в Bitrix делая код чище и понятнее.
Здесь описаны функции, переменные, конструкции и т.д. которые используются часто. Кое-что легче скопировать и вставить, чем писать каждый раз заново.
Комментарии
Комментариев пока нет