2010-05-06 3 views
0

Возможно ли получить имя переменной, используемое для ссылки на экземпляр класса из класса? Вот пример того, что я имею в виду:Получение имени переменной для созданного класса в PHP

class Test { 
    function getName(){ 
    //some code here to get the name '$test1' in this example 
    } 
} 

$test1 = new Test 

Это не обязательно, чтобы это было возможно, но это бы помочь для проекта я сейчас работаю.

+0

Возможный дубликат http://stackoverflow.com/questions/255312/how-to-get-a-variable-name-as-a-string-in-php - решение должно быть одинаковым – Gordon

ответ

2

Вы можете использовать переменную $this для ссылки на объект изнутри.

Если вы хотите найти фактическое имя переменной $test1, это будет сложнее (возможно, невозможно, так как класс не имеет способа узнать, как он используется в глобальной области). Но, вероятно, этого не стоит. В большинстве случаев, когда я задавал такие вопросы, люди предполагают, что есть дефект дизайна, и приложение должно зависеть от чего-то другого, кроме имен переменных.

0

Возможно, вы, скорее всего, сделаете это, используя debug_backtrace(), однако этот вид взлома - очень плохая практика.

Смежные вопросы