没搞懂 PHP 的 PSR2 的规范?

2018-08-13 17:22:54 +08:00
 jam1024

PSR2 里提到: 方法名称 必须 符合 camelCase() 式的小写开头驼峰命名规范

但是 php 默认有一大堆不符合改规范的函数,如:

file_get_contents , json_encode

4276 次点击
所在节点    PHP
25 条回复
zsdroid
2018-08-13 17:27:23 +08:00
PSR2 针对 php 的,内置函数不是 php 开发的
jam1024
2018-08-13 17:28:30 +08:00
@zsdroid 什么叫“内置函数不是 php 开发的”
demonchang
2018-08-13 17:30:44 +08:00
你自己写的 php 要遵守这个规范。。
zsdroid
2018-08-13 17:30:46 +08:00
@jam1024 #2 内置函数是 c 开发的啊,更何况 php 出来的时候还没有 psr1 呢,难道出来一个规范就要把 php 全部重构吗
feiyuanqiu
2018-08-13 17:31:17 +08:00
1. 制定 PSR 的 PHP-FIG 不是 PHP 官方组织,约束不到核心开发
2. PHP 内置函数名是历史遗留问题,现今也没看到任何要整改的迹象,PHPer 不看重这个
jam1024
2018-08-13 17:32:16 +08:00
@feiyuanqiu 编起码来感觉各种命名不一混用,有点蛋疼
mjVtb96d2bap2u3Z
2018-08-13 17:34:23 +08:00
PSR2 并不是 php 官方定的,最初只是几个开源开发者定的协作规范。后来其他开发者遵循这个规范带来很大方便,才逐渐流行开来。
chinvo
2018-08-13 17:34:36 +08:00
原因就不说了,如果感觉不爽,可以用一个 helper function 把你要用的内置函数封装下
WuwuGin
2018-08-13 17:36:34 +08:00
1.psr2 只是规范,不是一个强制标准
2.php 的内置函数 != 方法
3.php 历史遗留问题需要考虑兼容性。
jam1024
2018-08-13 17:46:12 +08:00
@WuwuGin 了解了
allgy
2018-08-13 18:34:20 +08:00
内置函数开发的时候连 FIG 这个组织都没诞生
sagaxu
2018-08-13 19:36:40 +08:00
method 和 function 的要求是不同的
pynix
2018-08-13 19:38:36 +08:00
退坑保平安。
SimbaPeng
2018-08-13 19:42:01 +08:00
php 的宗旨是 freestyle,233333
zn
2018-08-13 20:12:47 +08:00
哥哥,知道什么叫历史包裹,什么叫向后兼容性吗?
hubqin
2018-08-13 20:24:44 +08:00
按我的理解,方法是指类的方法,和全局的函数是不一样的概念。
shiny
2018-08-13 20:33:05 +08:00
方法是 method, 函数是 function,用中文的时候稍不注意就会混淆两者。
anewg
2018-08-13 20:36:31 +08:00
对这个敏感的还是别用 php 了
KgM4gLtF0shViDH3
2018-08-13 21:01:25 +08:00
@zn #15 是包袱吧
ninerec
2018-08-13 21:55:52 +08:00
个人的理解以及基于其上的建议:
1. 类似 PHP 的内置函数&自定义全局的 function,使用 snake_case ;
2. 自定义的类.方法,方法名使用 camelCase;
3. PSR 是用来约束社区&指导自己的编码规范的,别太纠结。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/479415

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX