PHP 魔术常量__FUNCTION__与__METHOD__的区别
2024-08-24 03:12:32
__FUNCTION__ 返回 函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
__METHOD__ 返回类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
他们有什么不同之处呢?做个实验,一测便知.
<?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();
?>
结果:
结论:
情况一:
__FUNCTION__与__METHOD__ 同处于“类外”的函数体中,他们的返回值是一样一样滴.
情况二:
__FUNCTION__与__METHOD__ 同处于“类内”的函数体中,__METHOD__ 比 __FUNCTION__前面多了个“类名::”
最新文章
- 安卓手机上的python运行环境-qpython
- ZooKeeper在centos6.4的集群搭建
- php防sql注入
- Table Groups [AX 2012]
- semantic-ui使用gulp执行build-css报错
- 说一说Android的工程目录结构
- Magento学习
- 非常全面的java基础笔试题
- 使用Boost.PropertyTree处理XML、JSON和INI数据
- 继承control的自定义TextBox
- C#程序员应该养成的程序性能优化写法
- Maven的主要特点
- XML跨平台,你懂的
- java日期间相隔年月日计算
- Python中的split()函数的用法
- CAP理论与分布式事务解决方案
- Codeforces Round #533 (Div. 2) C.思维dp D. 多源BFS
- scipy.stats与统计学:4个概率分布:N,chi2,F,t
- uft调用rfc接口
- CentOS7下Docker中构建Jenkins容器