【发布时间】:2017-05-12 07:33:08
【问题描述】:
我知道这两者之间的区别,并且我已经查看了手册。
我还是有些困惑。我可以在类的方法中使用__FUNCTION__,这表示该方法的名称。当我回显它时,它只输出名称。这里很清楚。
但是为什么我可以在非类方法中使用__METHOD__。这也只是代表正常功能的名称。正常功能是否在某个容器中?而在正常功能中回显__METHOD__时,容器什么都不是?
代码:
<?php
class dog {
private $name = 'dog';
public static function name() {
echo __METHOD__;
echo"\n";
echo __FUNCTION__;
echo"\n";
}
}
function test() {
echo __FUNCTION__;
echo"\n";
echo __METHOD__;
}
dog::name();
test();
输出:
ei@localhost:~$ php test.php
dog::name
name
test
test
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
两者在课堂外都是一样的。你可以使用其中任何一个,但我个人使用
__FUNCTION__。
标签: php function class methods constants