Название родительского метода из 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}.

  • Вопрос задан
  • 102 просмотра
Пригласить эксперта
Ответы на вопрос 1
skobkin
@skobkin
Гентушник, разработчик на PHP и Symfony.
1. Унаследовать эти данные анонимной функцией с помощью use.
2. Использовать debug_backtrace()

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

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

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