[转] 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个:

  1. PSR-0 自动加载标准(2014/10/21被废弃,由PSR-4替代)(Autoloading Standard➫
  2. PSR-1 基本编码规范(Basic Coding Standard➫
  3. PSR-2 编码规范指南(Coding Style Guide➫
  4. PSR-3 日志接口(Logger Interface➫
  5. PSR-4 自动加载标准(Autoloading Standard➫
  6. PSR-6 缓存接口(Caching Interface➫
  7. PSR-7 HTTP消息接口(HTTP Message Interface➫

注:每个不同的规范所针对的内容范围不同(除了PSR-4是PSR-0的替代者),它们之间不是所谓版本升级的关系。

php编辑器中phpstorm、zend studio都有对PSR的支持。希望PSR规范能终结目前混沌的世界!!!

参考链接

谈谈PHP代码规范的更多相关文章

  1. iOS代码规范(OC和Swift)

    下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下. 相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button ...

  2. 2016 正确 sublime安装PHPcs PHPcodesniffer代码规范提示插件,修正网上部分不详细描述

    对你有助请点赞,请顶,不好请踩------送人玫瑰,手留余香!-------------------14:37 2016/3/212016 正确 sublime安装PHPcs PHPcodesniff ...

  3. C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义

    类型判断符号: C#:object a;  if(a is int) { }  用 is 符号判断 Java:object a; if(a instanceof Integer) { } 用 inst ...

  4. 作业三: 代码规范、代码复审、PSP

    分) 对于是否需要有代码规范,请考虑下列论点并反驳/支持: 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 我是个艺术家,手艺人,我有自己的规范和原则. 规范不能 ...

  5. 转!!Java代码规范、格式化和checkstyle检查配置文档

    为便于规范各位开发人员代码.提高代码质量,研发中心需要启动代码评审机制.为了加快代码评审的速度,减少不必要的时间,可以加入一些代码评审的静态检查工具,另外需要为研发中心配置统一的编码模板和代码格式化模 ...

  6. C#代码规范

    C#代码规范  一.文件命名 1 文件名 文件名统一使用帕斯卡命名法,以C#类名命名,拓展名小写. 示例: GameManager.cs 2 文件注释 每个文件头须包含注释说明,文件头位置指的是文件最 ...

  7. 【转】Java代码规范

    [转]Java代码规范 http://blog.csdn.net/huaishu/article/details/26725539

  8. 作业三:代码规范、代码复审、PSP

    一.代码规范 我认为我们编写的代码都需要进行规范的操作,因为如果为了图省事情或者为了减少时间去完成这个编程.在最后检验的时候就会出现一些警告,导致你这次编程的代码出现问题,当出现问题的时候你在回头去检 ...

  9. 关于"是否需要有代码规范"的个人看法

    这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 我是个艺术家,手艺人,我有自己的规范和原则. 规范不能强求一律,应该允许很多例外. 我擅长制定编码规范,你们听我的 ...

随机推荐

  1. nginx 反代理google

    ./configure \ --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/n ...

  2. lua获取时间

    更多好的文章就在 blog.haoitsoft.com,请大家多多支持! local getTime = os.date("%c"); 其中的%c可以是以下的一种:(注意大小写) ...

  3. python pip方式安装selenium

    pip --default-timeout=1000 install -U selenium

  4. C#多线程--信号量(Semaphore)

    百度百科:Semaphore,是负责协调各个线程, 以保证它们能够正确.合理的使用公共资源.也是操作系统中用于控制进程同步互斥的量. Semaphore常用的方法有两个WaitOne()和Releas ...

  5. python2.7 报错(UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128))

    报错: 原来用的python3.5版本后来改为2.7出现了这个错误里面的中文无法显示 UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 ...

  6. js词法分析

    JavaScript的高级知识---词法分析 词法分析 词法分析方法: js运行前有一个类似编译的过程即词法分析,词法分析主要有三个步骤: 分析参数 再分析变量的声明 分析函数说明 函数在运行的瞬间, ...

  7. java 文件保存到本地

    private void savePic(InputStream inputStream, String fileName) { OutputStream os = null; try { Strin ...

  8. OnlineTV 电视播放工具

    通过网络使用电脑收看电视节目的播放工具,跟其他播放软件不同的是增加了录制功能. getList_bin_src.7z 获取电视直播源 OnlineTV-20161005.tar.xz OnlineTV ...

  9. markdownTest

    MARKDOWNTEST 11111111111111 有一种神奇的语言,它比html还简单,它巧妙地将内容与格式整合在一起--它就是Markdown 有一种神奇的语言,它比html还简单,它巧妙地将 ...

  10. android 6.0 高通平台sensor 工作机制及流程(原创)

    最近工作上有碰到sensor的相关问题,正好分析下其流程作个笔记. 这个笔记分三个部分: sensor硬件和驱动的工作机制 sensor 上层app如何使用 从驱动到上层app这中间的流程是如何 Se ...