Невозможно получить имя переменной, которой назначается объект, если не считать парсинг PHP-кода строки, вызывающей скрипт.Что, возможно, является злым и достаточно трудным делом, которое не стоит делать.
Учтите, что $bar = new Foo();
делает следующие вещи:
- Создает новый
Foo
;и - Назначает ссылку на него
$bar
.
Вы можете думать о тех шагах, происходящих в этом порядке - то естькогда работает Foo
конструктор, вы даже не знаете, что произойдет с тем Foo
, который вы создаете. Это хорошо, в конечном итоге .Представьте, что каждая функция изменила свое поведение в зависимости от того, как и где она была вызвана.Только тестируемость была бы кошмаром.
Короткая версия: не беспокойтесь.Существует, несомненно, менее злой способ делать то, что вы хотите сделать.То, каким будет этот путь, зависит от того, какую проблему вы на самом деле пытаетесь решить, делая это.