__FUNCTION__
函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
实例
<?php
function test() {
echo '函数名为:' . __FUNCTION__ ;
}
test();
?>
以上实例输出结果为:
函数名为:test
__METHOD__
类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
实例:
实例
<?php
function test() {
echo '函数名为:' . __METHOD__ ;
}
test();
?>
以上实例输出结果为:
函数名为:test
一下是测试不同的地方,直接上代码
<?php
//定义类
class Test
{
static function test01()
{
echo '__METHOD__ =>'.__METHOD__;
echo '<br>';
echo '__FUNCTION__ =>'.__FUNCTION__;
}
static function test02()
{
function innertest02()
{
echo '__METHOD__ =>'.__METHOD__;
echo '<br>';
echo '__FUNCTION__ =>'.__FUNCTION__;
}
innertest02();
}
}
//测试
Test::test01();
echo '<hr>';
Test::test02();
运行结果:
结论:
情况一:
__FUNCTION__与__METHOD__ 同处于“类外”的函数体中,他们的返回值是一样一样滴.
情况二:
__FUNCTION__与__METHOD__ 同处于“类内”的函数体中,__METHOD__ 比 __FUNCTION__前面多了个“类名::”