Czy to możliwe?
function test()
{
echo "function name is test";
}
function name1()
użyj nazwy1 ponownie w środku), zaoszczędziłbyś dużo czasu, jeśli masz ten sam szablon dla wielu funkcji.
Czy to możliwe?
function test()
{
echo "function name is test";
}
function name1()
użyj nazwy1 ponownie w środku), zaoszczędziłbyś dużo czasu, jeśli masz ten sam szablon dla wielu funkcji.
Odpowiedzi:
Dokładnym sposobem jest użycie __FUNCTION__
predefiniowanej stałej magicznej .
Przykład:
class Test {
function MethodA(){
echo __FUNCTION__;
}
}
Rezultat: MethodA
.
__CLASS__
. Lub możesz to zrobić get_class($this)
.
Możesz użyć magicznych stałych __METHOD__
(obejmuje nazwę klasy) lub __FUNCTION__
(po prostu nazwę funkcji) w zależności od tego, czy jest to metoda, czy funkcja ... =)
Jeśli używasz PHP 5, możesz spróbować:
function a() {
$trace = debug_backtrace();
echo $trace[0]["function"];
}
__FUNCTION__
zwraca nazwę funkcji nadrzędnej (gdy bieżąca funkcja jest zawarta w funkcji nadrzędnej)
<?php
class Test {
function MethodA(){
echo __FUNCTION__ ;
}
}
$test = new Test;
echo $test->MethodA();
?>
Wynik: „MethodA”;