PHP 魔术常量__FUNCTION__与__METHOD__的区别

<?php
//定义函数
function outFunction()
{
    echo '__METHOD__ =>'.__METHOD__;
    echo '<br>';
    echo '__FUNCTION__ =>'.__FUNCTION__;
}

//定义类
class Test
{
    static function gongwen()
    {
        echo '__METHOD__ =>'.__METHOD__;
        echo '<br>';
        echo '__FUNCTION__ =>'.__FUNCTION__;
    }

    static function bestphper()
    {
        function innerFunction()
        {
            echo '__METHOD__ =>'.__METHOD__;
            echo '<br>';
            echo '__FUNCTION__ =>'.__FUNCTION__;
        }
        
        innerFunction();
    }
}

//测试
Test::gongwen();
  echo '<hr>';
Test::bestphper();
  echo '<hr>';
outFunction();
?>
结果:
838251-20151124142357531-98830456.jpg
结论:
  • 情况一:
    FUNCTIONMETHOD 同处于“类外”的函数体中,他们的返回值是一样一样滴.
  • 情况二:
    FUNCTIONMETHOD 同处于“类内”的函数体中,METHODFUNCTION前面多了个“类名::”
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容