为什么PHP中的函数和方法不区分大小写?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

PHP中的函数和方法不区分大小写,如以下示例所示。

function ag()
{
    echo '2';
}

Ag();
class test {
    function clMe()
    {
        echo 'hi';
    }
}

$instance = new test;
$instance->clme();

但变量不是这种情况。基本原理是什么?

提问于
用户回答回答于

是的,函数和方法名称不区分大小写。

是的,变量名称区分大小写。

我不确定是否有这个原因 - 除了这种方式已经很长时间了,并且因为向后兼容的原因,情况依然如此。

作为参考,有几个链接/引用到手册的各个页面:

对于函数:

注意: 函数名称不区分大小写,但通常调用函数时出现在声明中时是很好的形式。

方法不仅仅是对象中的函数 - 特别是当我们考虑PHP 4和向后兼容性时。

而且,对于变量:

PHP中的变量由美元符号表示,后面跟着变量的名称。变量名称区分大小写。

而对象属性并不比对象中的变量多 - 关于PHP 4的相同评论和向后兼容性。

用户回答回答于

让我引用Interview - PHP的创造者Rasmus Lerdorf

PHP的第一个版本是我为我的网站和几个项目组合的一套简单的工具。一个工具做了一些奇妙的命中日志到一个mSQL数据库,另一个作为一个表单数据解释器。我最终用C语言编写了大约30个不同的小CGI程序,然后将它们全部组合成一个C库。然后我编写了一个非常简单的解析器,它将从HTML文件中选取标签,并将其替换为C库中相应函数的输出。 简单的解析器慢慢发展到包含条件标签,循环标签,函数等。我从来没有想过我正在编写脚本语言。我只是为宏替代解析器添加一些功能。我仍然在C写下所有我真正的商业逻辑

我曾经在某处读过,因为所有引入的函数本质上都像HTML文档中的标签,并且由于HTML标签不区分大小写,所以他在PHP中选择函数名称时不区分大小写。稍后,该功能仍将保留在该语言中。

扫码关注云+社区