我是php的新手,我在php中看到了相当不明确的函数名称约定,这让我感到困惑,因为我经常忘记函数名称。我想我应该举个例子。
如果编码函数为htmlentities
,那么为什么它的相反名称为html_entitiy_decode
,而不是entitiesdecode
或更接近htmlentities
的那个。
也有匹配的函数名称,但我认为php没有一致的方法来命名它的函数。
任何想法,因为我很难记住功能名称。感谢
答案 0 :(得分:9)
不,PHP实际上并没有一致的函数名称 - 这主要有两个原因:
幸运的是,PHP社区和开发人员已经意识到这一点,并且当他们开发新功能时,现在尽量不要重复这个错误 - 但对于旧功能而言,事情很可能仍然如此。
您可以做的最好的事情是为您的类/函数/方法/变量采用一个命名约定,并在您的项目中尊重它;这已经是一个好的开始。
答案 1 :(得分:3)
有些相关的question and answer in the PHP FAQ about parameter order:
我记不起PHP函数的参数顺序,它们是随机的吗?
PHP是一种将数百个外部库汇集在一起的粘合剂,因此有时会变得混乱。但是,一个简单的经验法则如下: 数组函数参数按“needle,haystack”排序,而字符串函数则相反,所以“haystack,needle”。
答案的第一句也可以应用于函数命名。
对于您自己的功能,请查看Userland Naming Guide和/或考虑遵循其中一个编码约定,例如Zend或PEAR。
答案 2 :(得分:2)
我担心这是PHP的一个问题,你将不得不忍受。你可以用自己的功能包装这些“错误名称”的功能,但这显然会使调用这些功能更加昂贵。
答案 3 :(得分:0)
我会给出简单的答案,事实是它是因为兼容性。赋予名称的函数无法逆转,因为它已在数千个项目和语言核心以及pear和pecl中使用。感谢