Задать вопрос

Название родительского метода из closure?

Возможно ли каким то образом получить название метода в подобной ситуации?
namespace frontend\controllers;
class Home {
 public function index() {
        $reflection = new \ReflectionClass($this);
        return $this->getData(
            function () use ($reflection) {
                "Вызван контроллер {$reflection->getNamespaceName()}, класс {$reflection->getShortName()}, функция " . __METHOD__
        }
        );
    }
}
  • Хотелка:
    Вызван контроллер frontend\controllers, класс Home , функция index.

  • В данный момент вместо index получаю:
    Вызван контроллер frontend\controllers, класс Home , функция frontend\controllers\{closure}.

  • Вопрос задан
  • 103 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
skobkin
@skobkin
Гентушник, разработчик на PHP и Symfony.
1. Унаследовать эти данные анонимной функцией с помощью use.
2. Использовать debug_backtrace()

Хотя, возможно, вы делаете что-то не так.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы