首页 > 代码库 > PHP魔术变量__METHOD__,__FUNCTION__的区别

PHP魔术变量__METHOD__,__FUNCTION__的区别

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

 1 <?php 2             class Test{ 3                 public function doit(){ 4                     echo __FUNCTION__; 5                 } 6                 public function doitAgain(){ 7                     echo __METHOD__; 8                 } 9             }10             $obj = new Test();11             $obj->doit();12             echo ‘<br>‘;13             $obj->doitAgain();14 ?>

输出结果为:

doit
Test::doitAgain

PHP魔术变量__METHOD__,__FUNCTION__的区别