谈谈PHP代码规范
[转] http://www.syyong.com/php/Talk-about-PHP-code-specification.html
我向往这样一个php世界,里面没有代码规范之争。你我都一样,都遵循着一套如宪法般的规范,就像golang世界一样。统一的命名法则,统一的缩进方式。而现实世界却让人落差很大,每个不同的团队就像不同的国家,都颁布有自己的法律。穿梭于N个团队之间你就得去适应N套规范。
那么php有没有一套比较标准、比较建议去遵循的规范呢?答案是有的,那就是由PHP-FIG组织陆续发布的PSR-1,PSR-2,PSR-3,PSR-4,PSR-6,PSR-7规范。PHP-FIG➫
PHP-FIG即PHP框架互操作工作组(PHP Framework Interoperability Group),最初由5各框架开发者于2009年成立,后来陆续有新成员加入,到目前为止已有20个成员。该组织致力于推动php能有个共通编码风格可以遵循。PHP-FIG截止到2016/07/23(文章尽量追踪更新)已发布的可接受的公认的(Accepted)规范有7个:
- PSR-0 自动加载标准(2014/10/21被废弃,由PSR-4替代)(Autoloading Standard➫)
- PSR-1 基本编码规范(Basic Coding Standard➫)
- PSR-2 编码规范指南(Coding Style Guide➫)
- PSR-3 日志接口(Logger Interface➫)
- PSR-4 自动加载标准(Autoloading Standard➫)
- PSR-6 缓存接口(Caching Interface➫)
- PSR-7 HTTP消息接口(HTTP Message Interface➫)
注:每个不同的规范所针对的内容范围不同(除了PSR-4是PSR-0的替代者),它们之间不是所谓版本升级的关系。
php编辑器中phpstorm、zend studio都有对PSR的支持。希望PSR规范能终结目前混沌的世界!!!
参考链接
谈谈PHP代码规范的更多相关文章
- iOS代码规范(OC和Swift)
下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下. 相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button ...
- 2016 正确 sublime安装PHPcs PHPcodesniffer代码规范提示插件,修正网上部分不详细描述
对你有助请点赞,请顶,不好请踩------送人玫瑰,手留余香!-------------------14:37 2016/3/212016 正确 sublime安装PHPcs PHPcodesniff ...
- C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义
类型判断符号: C#:object a; if(a is int) { } 用 is 符号判断 Java:object a; if(a instanceof Integer) { } 用 inst ...
- 作业三: 代码规范、代码复审、PSP
分) 对于是否需要有代码规范,请考虑下列论点并反驳/支持: 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 我是个艺术家,手艺人,我有自己的规范和原则. 规范不能 ...
- 转!!Java代码规范、格式化和checkstyle检查配置文档
为便于规范各位开发人员代码.提高代码质量,研发中心需要启动代码评审机制.为了加快代码评审的速度,减少不必要的时间,可以加入一些代码评审的静态检查工具,另外需要为研发中心配置统一的编码模板和代码格式化模 ...
- C#代码规范
C#代码规范 一.文件命名 1 文件名 文件名统一使用帕斯卡命名法,以C#类名命名,拓展名小写. 示例: GameManager.cs 2 文件注释 每个文件头须包含注释说明,文件头位置指的是文件最 ...
- 【转】Java代码规范
[转]Java代码规范 http://blog.csdn.net/huaishu/article/details/26725539
- 作业三:代码规范、代码复审、PSP
一.代码规范 我认为我们编写的代码都需要进行规范的操作,因为如果为了图省事情或者为了减少时间去完成这个编程.在最后检验的时候就会出现一些警告,导致你这次编程的代码出现问题,当出现问题的时候你在回头去检 ...
- 关于"是否需要有代码规范"的个人看法
这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 我是个艺术家,手艺人,我有自己的规范和原则. 规范不能强求一律,应该允许很多例外. 我擅长制定编码规范,你们听我的 ...
随机推荐
- http://www.microsoft.com/en-pk/download/details.aspx?id=40762
http://www.microsoft.com/en-pk/download/details.aspx?id=40762
- 安装windows下的Cscope
http://blog.csdn.net/maxiee/article/details/10034263 Cscope 是一款用于查看大型工程中的代码的软件.它使用方便,支持快速查找 C Symbol ...
- Ubuntu16.04安装Screenlets
通过添加软件源的方式安装装 sudo add-apt-repository ppa:screenlets/ppa sudo apt-get update sudo apt-get install sc ...
- 【Network】Neutron-Docker-K8S
Neutron-Docker-K8S openstack/neutron: Neutron is a virtual network service for Openstack. Neutron和SD ...
- Sass 的调试
Sass 的调试 Sass 调试一直以来都是一件头痛的事情,使用 Sass 的同学都希望能在浏览器中直接调试 Sass 文件,能找到对应的行数.值得庆幸的是,现在实现并不是一件难事,只要你的浏览器支持 ...
- .net WebApi开发
1].部署环境.net4及以上版本. [2].vs2010 开发需单独安装vs2010 sp1和mvc4 mvc4:http://www.asp.net/mvc/mvc4 或者 http://dow ...
- C++开始前篇,深入编译链接
C++开始,为什么要写这个东西,因为按照课堂进度的话,现在的C++已经学到模板以及重载了,有时却仍然因为一些小问题无法解答,原因是忘记了开始时学到的知识,深知不能像猴子掰棒子一样,掰一个扔一个,因此, ...
- 数据结构之栈-JavaScript实现栈的功能
记录自己的学习 栈(stack)又名堆栈,它是一种运算受限的线性表.其限制是仅允许在表的一端进行插入和删除运算.这一端被称为栈顶,相对地,把另一端称为栈底.向一个栈插入新元素又称作进栈.入栈或压栈,它 ...
- Lintcode 97.二叉树的最大深度
--------------------------------- AC代码: /** * Definition of TreeNode: * public class TreeNode { * pu ...
- 搭建自己的LAMP
LAMP的搭建说简单也简单,说难也不容易,如果采用一键安装也是比较容易的,但想配置自己需要的版本等等也是比较麻烦.前段时间我分别在自己的电脑和阿里云上部署了Lamp环境,以下是步骤和常出现的问题的解决 ...