zoukankan      html  css  js  c++  java
  • 谈谈PHP内置函数命名

    我也做一次“谈谈哥”。

    昨天Alex He同学提到PHP里面的方法名字全是下划线。关于这个问题,我也曾小郁闷过一阵子。

    PHP中的函数命名,总体说来有四种完全不同的方式:

      第一种:C式

        PHP是C语言实现的。或许是因为这个原因,PHP中有大量的C语言风格的函数名。譬如:fsockopen——用于打开一个socket连接。

      第二种:下划线式

        PHP中有大量的以这种方式命名的函数。比较典型的下划线式命名函数,如上一篇博客介绍的stream_*系列函数,还有很多很常用的数组函数如 in_array()、array_keys()等等都是此种风格的代表。这种命名方式相比C式进步了不少,起码能通过函数名大概了解函数用途。但由于Java、C#等主流面向对象语言都采用驼峰式命名法,所以下划线式命名看起来并不那么面向对象。

      第三种:驼峰式

        驼峰式应该说是时下最流行的命名方式。喜欢面向对象编程的同志们应该都喜欢吧。PHP也有采用驼峰式命名的函数。- -||。。。不过它们都是包装在类中的。例如比较常用的XML解析类SimpleXMLElement,还有目录迭代器类DirectoryIterator都是驼峰式。

      第四种:无厘头式

        典型代表:urlencode()……按照函数功能来说,此函数应该被命名为encodeurl()更显合理。再按照PHP惯常的命名规则,它应该被命名为url_encode()才对。可不知怎么的,它就有了这么个奇怪的名字。

    这就是PHP函数命名的现状。我个人觉得主要是历史原因造成了这种状况。PHP自从1994年发布以来,直到2004年PHP 5发布才实现了较完整的面向对象机制。所以PHP中包含大量C式、类C式函数并不奇怪。

  • 相关阅读:
    CodeForces gym Nasta Rabbara lct
    bzoj 4025 二分图 lct
    CodeForces 785E Anton and Permutation
    bzoj 3669 魔法森林
    模板汇总——快读 fread
    bzoj2049 Cave 洞穴勘测 lct
    bzoj 2002 弹飞绵羊 lct裸题
    HDU 6394 Tree 分块 || lct
    HDU 6364 Ringland
    nyoj221_Tree_subsequent_traversal
  • 原文地址:https://www.cnblogs.com/followflows/p/1787703.html
Copyright © 2011-2022 走看看