1、常规

  • 尽量统一ide 比如phpstream 配置文件(Settings → Code Style → PHP → Set from... → Predefined Style → PSR1/PSR2) 看标准 操作
  • 缩进一定要用4个空格代替tab键
  • 文件名 StudlyCaps
  • 类名 StudlyCaps
  • 常量 大写字母单词 _ 分隔单词
  • 方法 变量 属性 camelCase
  • 私有属性 __开头
  • 代码列 最好不要超过 120
  • 单个函数 不要超过 100 行

2、文件

  • 文件命名 StudlyCaps
  • 文件最好统一utf-8 不带BOM
  • 纯php 文件 不要加 ?>结束

3、关于换行和空格

  • 名字空间 和 use 直接 类 申明 之间
  • 属性 方法之间空两行
  • 类 方法 { } 独立占行
  • if while 逻辑代码 { 同行

4、字符串

  • 字符串包含变量的用 “” 纯字符串用 ‘’
  • 长字符串拼接时候 需要换行
  • 由于php “”里面可以带变量所以 sprintf 可以不用

5、条件控制

  • 减少嵌套 点击看列子
  • switch 代替多个elseif【某些场景可以用数组来代替swith】

6、关于注释

  • 针对业务进行注释

7、附加规则

  • 判断不确定性时候 使用 empty() 避免 notice 提示

开发环境

开发环境的svn 必须修改同步到版本控制主要表现两个方面问题

  • 共同开发相同功能
  • 发布版本覆盖问题

PHP 权威代码风格规范的更多相关文章

  1. 【PSR规范专题(3)】PSR-2 代码风格规范

    [PSR规范专题(3)]PSR-2 代码风格规范 标签(空格分隔): PHP 转载自:https://github.com/PizzaLiu/PHP-FIG/blob/master/PSR-2-cod ...

  2. PHP PSR-2 代码风格规范 (中文版)

    代码风格规范 本篇规范是 PSR-1 基本代码规范的继承与扩展. 本规范希望通过制定一系列规范化PHP代码的规则,以减少在浏览不同作者的代码时,因代码风格的不同而造成不便. 当多名程序员在多个项目中合 ...

  3. PHP PSR-2 代码风格规范

    代码风格规范 本篇规范是 PSR-1 基本代码规范的继承与扩展. 本规范希望通过制定一系列规范化PHP代码的规则,以减少在浏览不同作者的代码时,因代码风格的不同而造成不便. 当多名程序员在多个项目中合 ...

  4. PSR-2 代码风格规范

    https://blog.csdn.net/qq_28602957/article/details/52248239 这篇规范是PSR-1(基本代码规范)的扩展和继承. 本规通过制定一系列规范化PHP ...

  5. Python 代码风格规范(Google)

    Python风格规范 分号 tip 不要在行尾加分号, 也不要用分号将两条命令放在同一行. 行长度 tip 每行不超过80个字符 例外: 长的导入模块语句 注释里的URL 不要使用反斜杠连接行. Py ...

  6. .net 代码风格规范

    声明:内容非原创,转自张子阳博客. 对于为什么是转载,唯一原因就是这东西居然比我整理的好,直接用得了. 1. C# 代码风格要求 1.1注释 类型.属性.事件.方法.方法参数,根据需要添加注释. 如果 ...

  7. .Net 项目代码风格规范

    最近没啥时间自己状态也不是很好,公司的事情忙,自己也有一些事情要处理,所以好久没有写博客了.利用公司午休时间写一写,以下是参考了一些资料,整理出来,共勉之. 代码风格没有正确与否,重要的是整齐划一,清 ...

  8. Google的代码风格规范,各种语言都很全

    https://code.google.com/p/google-styleguide/

  9. python代码风格规范

    类注释模板: :: class AnotherClass: """ 类注释 """ def method(self, arg1, arg2, ...

随机推荐

  1. PHP 多线程采集

    function curl_multi($urls) { if (!is_array($urls) or count($urls) == 0) { return false; } $num=count ...

  2. 我的emacs简易配置

    ;;------------语言环境字符集设置(utf-8)------------- (set-language-environment 'Chinese-GB) (set-keyboard-cod ...

  3. jdk的keystore生成

    使用jdk路径下的keytool.exe生成 生成证书: 导出证书,此时输入生成证书时设置的密码:

  4. input模拟

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. 解决vue路由与锚点冲突

    传统的锚点定位会与vue-router中的路由设置存在冲突,解决方法自定义锚点跳转: html: <ul> <li><a href="" @click ...

  6. JVM调优总结:一些概念

    数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型.基本类型的变量保存原始值,即:他代表的值就是数值本身:而引用类型的变量保存引用值.“引用值”代表了某个对象的引用,而不是对象本身, ...

  7. hadoop之安全篇

    ---------------持续更新中------------------- hadoop集群安全架构 如下图所示: --------------------------未完待续---------- ...

  8. java中集合去重1

    //TreeMap 处理 处理后 得到的值 按拼音排序 TreeMap map = new TreeMap(new MaterialComparator()); map.put("东莞&qu ...

  9. asp.net后台代码动态添加JS文件和css文件的引用

    首先添加命名空间 using System.Web.UI.HtmlControls; 代码动态添加css文件的引用 HtmlGenericControl myCss = new HtmlGeneric ...

  10. 【BZOJ】2331: [SCOI2011]地板 插头DP

    [题意]给定n*m的地板,有一些障碍格,要求用L型的方块不重不漏填满的方案数.L型方块是从一个方格向任意两个相邻方向延伸的方块,不能不延伸.n*m<=100. [算法]插头DP [题解]状态0表 ...