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

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

function ag() { echo '2'; } Ag(); class test { function clMe() { echo 'hi'; } } $instance = new test; $instance->clme(); 

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

让我引用来自Interview – PHP的创造者Rasmus Lerdorf

PHP的第一个版本是我为我的网站和几个项目组合的一套简单的工具。 有一个工具在mSQL数据库中做了一些奇怪的事情,另一个工具是作为一个表单数据解释器。 我用C语言编写了大约30个不同的小CGI程序,然后把它们全部组合成一个C语言库。 然后,我编写了一个非常简单的parsing器,它将从HTML文件中选取标签,并将其replace为C库中相应函数的输出。

简单的parsing器慢慢发展到包含条件标签,循环标签,函数等。我从来没有想过我正在编写一种脚本语言。 我只是简单地向macrosreplaceparsing器添加一些function。 我仍然用C写所有我真正的商业逻辑

我曾经在某处读过,因为所有引入的函数本质上就像HTML文档中的标签一样,并且由于HTML标签是不区分大小写的,所以他在PHP中select函数名称时不区分大小写。 后来这个function仍然在语言中。

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

是的,variables名称区分大小写。

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


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

对于函数( 引用 )

注意:函数名是不区分大小写的,尽pipe调用函数的声明通常是很好的forms。

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

而且,对于variables( 引用 ):

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

而对象属性并不比对象中的variables多 – 关于PHP 4的相同注释和向后兼容性。