В PHP, как я могу получить имя переменной, переданной в вызове функции? - PullRequest
1 голос
/ 16 октября 2011
trace($this->_classResources,'$this->_classResources');

Если я могу получить "$ this -> _ classResources", тогда мне не нужны вторые параметры.

Ответы [ 2 ]

3 голосов
/ 16 октября 2011

Вы не можете и не должны быть в состоянии. Возможно, существует другой способ структурирования кода для решения этой проблемы.

0 голосов
/ 16 октября 2011
function print_var_name($var) {
    foreach($GLOBALS as $var_name => $value) {
        if ($value === $var) {
            return $var_name;
        }
    }
    return false;
}

Эта функция не будет напрямую получать имя переменной, но будет сканировать любое имя переменной, которое содержит то же значение, что и указанное вами. Если вы можете гарантировать, что значения, передаваемые в вашей функции, отличаются от всех других значений, она должна делать свою работу. Дрянной метод, который может сработать, - это установить префикс для значений, которые будут переданы в эту функцию. Оказавшись в функции, вы просто пропускаете префиксную часть с помощью substr.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...