你能从PHP的方法中获取方法名称吗?

2022-08-30 08:26:15

有可能做这样的事情吗?

public function something() {
    $thisMethodName = method_get_name(); 
}

在何处返回方法的名称?method_get_name()


答案 1

当然,你想要神奇的常数。

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

php 手册中了解更多信息


答案 2

虽然你可以使用魔术常数,但我强烈建议你看看PHP的反射。PHP5 支持此功能。__METHOD__

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

然后,您可以做一些踢屁股的事情,例如检查签名等。


推荐