【问题标题】:PHP: Ambiguous function namesPHP:不明确的函数名称
【发布时间】:2010-02-16 11:36:02
【问题描述】:

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

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

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

请有任何想法,因为我很难记住函数名称。谢谢

【问题讨论】:

  • 在启动编辑器之前,我通常会启动 PHP 文档。我已经以舒适的.chm Windows 格式下载了这些文件(我什至相信其他操作系统也有.chm 查看器)。可下载的文档在这里:php.net/download-docs.php
  • 这是一个用于 OS X 的 .chm 查看器:chmox.sourceforge.net。这里有几个适用于 Linux:linux.com/archive/articles/122171
  • @fireeyedboy:是的,这是最好的开放资源之一。
  • @phpBOY: +1: 当我开始使用 PHP 时,我遇到了类似的问题 :)

标签: php


【解决方案1】:

不,PHP 对函数名称并没有真正一致的方法——这主要有两个原因:

  • 历史原因:一旦使用这些名称发布函数,就无法更改它们
  • 扩展/库:PHP 是一种结合了多个外部库的“胶水”语言,它经常使用这些库的函数名称——这不一定是一致的。

幸运的是,PHP 社区和开发人员都意识到了这一点,并且现在在他们开发新函数时尽量不要重蹈覆辙——但对于旧函数来说,事情很可能会保持这种状态。


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

【讨论】:

  • @Pascal:我相信的最棒和最合乎逻辑的答案,对不起,我不能投票给你,因为它要求我至少有 15 的声誉,但无论如何这真的很有帮助,谢谢 :)
  • @Pascal: +1 我现在可以这样做了 :)
【解决方案2】:

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

PHP函数的参数顺序记不住了,是随机的吗?

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

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

对于您自己的函数,请查看Userland Naming Guide 和/或考虑遵循ZendPEAR 等编码约定之一。

【讨论】:

    【解决方案3】:

    恐怕这是您将不得不忍受的 PHP 问题。你可以用你自己的来包装这些“命名错误”的函数,但这显然会使调用这些函数的成本更高。

    【讨论】:

      【解决方案4】:

      我会给出简单的答案,事实上是因为兼容性。一个函数一旦给了一个名字就不能逆转,因为它已被用于数千个项目和语言核心以及 pear 和 pecl。谢谢

      【讨论】:

      • @Sarfraz:是的,这似乎是非常正确和简短的回答,谢谢
      猜你喜欢
      • 2012-10-12
      • 1970-01-01
      • 1970-01-01
      • 2020-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多