PHP中魔术变量__METHOD__与__FUNCTION__的区别

这篇文章主要介绍了PHP中魔术变量__METHOD__与__FUNCTION__的区别,是深入学习PHP程序设计所必须掌握的概念,非常具有实用价值,需要的朋友可以参考下。

本文实例讲述了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程序设计有所帮助。