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

yipeiwu_com5年前PHP代码库

本文实例讲述了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

希望本文所述对大家的PHP程序设计有所帮助。

相关文章

Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境

Mac下搭建lamp开发环境很容易,有xampp和mamp现成的集成环境。但是集成环境对于经常需要自定义一些配置的开发者来说会非常麻烦,而且Mac本身自带apache和php,在brew...

php SQLite学习笔记与常见问题分析第1/2页

直到学会! 学之前找资料 SQLite的sql ATTACH DATABASE BEGIN TRANSACTION comment COMMIT ...

详解PHP的Yii框架中扩展的安装与使用

扩展是专门设计的在 Yii 应用中随时可拿来使用的, 并可重发布的软件包。例如, yiisoft/yii2-debug 扩展在你的应用的每个页面底部添加一个方便用于调试的工具栏, 帮助你...

php倒计时出现-0情况的解决方法

本文实例讲述了php倒计时出现-0情况的解决方法。分享给大家供大家参考,具体如下: 问题:今天有反馈,说倒计时出现了-0天的情况,我看了看程序,卧槽,当时怎么没测试到 原因是PHP的逻辑...

php使用yield对性能提升的测试实例分析

本文实例讲述了php使用yield对性能提升的测试。分享给大家供大家参考,具体如下: 生成器提供了一种更容易的方法来实现简单的对象迭代,相比较定义类实现 Iterator 接口的方式,...