php魔术变量__METHOD__与__FUNCTION__有哪些区别

发布时间:2019-11-02编辑:脚本学堂
本文介绍了php中魔术变量__METHOD__与__FUNCTION__的区别,一个是返回该方法被定义时的名字,一个是返回该函数被定义时的名字,一起来了解下吧。

php魔术变量__METHOD__与__FUNCTION__用法区别

二者区别在于:
__METHOD__类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
__FUNCTION__函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。

文档解释都是说返回函数(方法)的名字。

区别在于:
__FUNCTION__只是返回方法的名字;
__METHOD__返回类的名字和方法的名字。

例子:
 

复制代码 代码示例:
<?php
class Test{
  public function doit(){
    echo __FUNCTION__;
  }
  public function doitAgain(){
    echo __METHOD__;
  }
}
$obj = new Test();
$obj->doit();
echo '<br>';
$obj->doitAgain();
?>

输出结果:
doit
Test::doitAgain