PHP 中的函数和方法不区分大小写,如下例所示。
function ag()
{
echo '2';
}
Ag();
class test {
function clMe()
{
echo 'hi';
}
}
$instance = new test;
$instance->clme();
但变量并非如此。理由是什么?
PHP 中的函数和方法不区分大小写,如下例所示。
function ag()
{
echo '2';
}
Ag();
class test {
function clMe()
{
echo 'hi';
}
}
$instance = new test;
$instance->clme();
但变量并非如此。理由是什么?
让我引用采访——PHP 的创造者 Rasmus Lerdorf
PHP 的第一个版本是一组简单的工具,我将它们用于我的网站和几个项目。一个工具对 mSQL 数据库进行了一些花哨的命中日志记录,另一个工具充当表单数据解释器。在我厌倦它之前,我最终用 C 编写了大约 30 个不同的小 CGI 程序,并将它们组合到一个单一的 C 库中。然后我编写了一个非常简单的解析器,它会从 HTML 文件中挑选标签,并用 C 库中相应函数的输出替换它们。
简单的解析器慢慢地发展到包括条件标签,然后是循环标签、函数等。我从来没有想过我正在编写脚本语言。我只是在宏替换解析器中添加了一些功能。我仍在用 C 语言编写所有真正的业务逻辑。
我在某处读到,由于引入的所有函数本质上都感觉像是 HTML 文档中的标记,并且由于 HTML 标记不区分大小写,因此他选择 PHP 中的函数名称不区分大小写。后来,该功能仍然保留在该语言中。
是的,函数和方法名称不区分大小写。
是的,变量名称区分大小写。
我不确定这是有原因的——除了这种情况已经有很长时间了,而且,出于向后兼容性的原因,情况仍然如此。
作为参考,手册各个页面的几个链接/引用:
对于函数(引用):
注意: 函数名称不区分大小写,尽管在函数声明中出现时调用函数通常是一种很好的形式。
方法只不过是对象中的函数——尤其是当我们考虑 PHP 4 和向后兼容性时。
并且,对于变量(引用):
PHP 中的变量由一个美元符号后跟变量名表示。变量名区分大小写。
并且对象属性只不过是对象中的变量——关于 PHP 4 和向后兼容性的相同评论。