PHP:不明确的函数名称

时间:2010-02-16 11:36:02

标签: php

我是php的新手,我在php中看到了相当不明确的函数名称约定,这让我感到困惑,因为我经常忘记函数名称。我想我应该举个例子。

如果编码函数为htmlentities,那么为什么它的相反名称为html_entitiy_decode,而不是entitiesdecode或更接近htmlentities的那个。

也有匹配的函数名称,但我认为php没有一致的方法来命名它的函数。

任何想法,因为我很难记住功能名称。感谢

4 个答案:

答案 0 :(得分:9)

不,PHP实际上并没有一致的函数名称 - 这主要有两个原因:

  • 历史原因:一旦使用这些名称发布了功能,就无法更改
  • 扩展/库:PHP是一种“粘合”语言,它包含多个外部库,它经常使用这些库的功能名称 - 这些名称不一定一致。

幸运的是,PHP社区和开发人员已经意识到这一点,并且当他们开发新功能时,现在尽量不要重复这个错误 - 但对于旧功能而言,事情很可能仍然如此。


您可以做的最好的事情是为您的类/函数/方法/变量采用一个命名约定,并在您的项目中尊重它;这已经是一个好的开始。

答案 1 :(得分:3)

有些相关的question and answer in the PHP FAQ about parameter order

  

我记不起PHP函数的参数顺序,它们是随机的吗?

     

PHP是一种将数百个外部库汇集在一起​​的粘合剂,因此有时会变得混乱。但是,一个简单的经验法则如下:   数组函数参数按“needle,haystack”排序,而字符串函数则相反,所以“haystack,needle”。

答案的第一句也可以应用于函数命名。

对于您自己的功能,请查看Userland Naming Guide和/或考虑遵循其中一个编码约定,例如ZendPEAR

答案 2 :(得分:2)

我担心这是PHP的一个问题,你将不得不忍受。你可以用自己的功能包装这些“错误名称”的功能,但这显然会使调用这些功能更加昂贵。

答案 3 :(得分:0)

我会给出简单的答案,事实是它是因为兼容性。赋予名称的函数无法逆转,因为它已在数千个项目和语言核心以及pear和pecl中使用。感谢