PHP - имя текущей функции

erotic

Не нашел в инете, поэтому спрашиваю здесь:
Можно ли внутри функции определить ее имя?

erotic

Спасибо

maggi14

не очень понимаю, зачем. Если у тебя своя функция, тебе никто не мешает вывести ее имя "статически".
К тому же, не очень понимаю, как это возможно. Если б была такая функция, она бы всегда выводила свое имя

maggi14

да, слажал

ppplva

Ну как же, для отладки. Зачем в C константы __LINE__ и__FILE__ ?

erotic

Ммм... не обязательно. Для унификации.
К примеру, надо по одной функции для обработки каждой странички вида host.ru/?page='blabla'
<?
...
$handler_name = 'page_'.$_GET['page'];
$handler_name;
...
?>
А во все функции вида page_blabla можно вставлять один и тот же код для ссылки на эту самую страничку, например, в поле action в формах.

Dasar

> не очень понимаю, зачем. Если у тебя своя функция, тебе никто не мешает вывести ее имя "статически".
Одно дело копи-пастить код вида:

Trace(ThisFunctionName);

другое дело, когда к этому копи-пасту добавляется еще время на аккуратное дописывание к каждому вызову правильного имени текущей функции.
так же потом тяжело синхронизировать имя в трассировки, и у самой функции - при изменении имени класса, имени функции и т.д.
> К тому же, не очень понимаю, как это возможно. Если б была такая функция, она бы всегда выводила свое имя
Но ведь можно сделать функцию, которая будет выводить имя -1 (по стеку) функции, а не ее самой.

rosali

В перле еще и caller есть!
Оставить комментарий
Имя или ник:
Комментарий: