Можно ли получить имя метода из метода в PHP?

window.open () функция также позволит это, если у Вас будет ссылка на созданное окно, если это находится на том же домене. Если переменная является используемой стороной сервера, необходимо использовать $ _SESSION переменная (предположение, что Вы используете PHP).

65
задан alex 20 December 2011 в 02:11
поделиться

5 ответов

Конечно, вам нужны магические константы.

function myFunction() { print __FUNCTION__." in ".__FILE__." at ".__LINE__."\n"; }

Узнайте больше в руководстве по php

105
ответ дан 24 November 2019 в 15:23
поделиться

Хотя вы можете использовать магическую константу __ МЕТОД __ , я настоятельно рекомендую проверить отражение PHP . Это поддерживается в PHP5.

$modelReflector = new ReflectionClass(__CLASS__);
$method = $modelReflector->getMethod(__METHOD__);

Затем вы можете делать такие классные вещи, как проверять подпись и т. Д.

22
ответ дан 24 November 2019 в 15:23
поделиться

Хакерство, но вы также, вероятно, могли бы извлечь его из возвращаемого значения debug_backtrace ().

1
ответ дан 24 November 2019 в 15:23
поделиться

Почему вы не можете это сделать?

public function something() {
    $thisMethodName = "something";
}
-6
ответ дан 24 November 2019 в 15:23
поделиться

Как и предполагал smartj, вы можете попробовать магическую константу __METHOD__, но помните, что при этом будет возвращена строка, содержащая также имя вашего класса, т.е. 'MyClass::something'. Использование __FUNCTION__ вместо этого вернет 'что-то'.

11
ответ дан 24 November 2019 в 15:23
поделиться
Другие вопросы по тегам:

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