PHP 权威代码风格规范
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 权威代码风格规范的更多相关文章
- 【PSR规范专题(3)】PSR-2 代码风格规范
		
[PSR规范专题(3)]PSR-2 代码风格规范 标签(空格分隔): PHP 转载自:https://github.com/PizzaLiu/PHP-FIG/blob/master/PSR-2-cod ...
 - PHP PSR-2 代码风格规范 (中文版)
		
代码风格规范 本篇规范是 PSR-1 基本代码规范的继承与扩展. 本规范希望通过制定一系列规范化PHP代码的规则,以减少在浏览不同作者的代码时,因代码风格的不同而造成不便. 当多名程序员在多个项目中合 ...
 - PHP PSR-2 代码风格规范
		
代码风格规范 本篇规范是 PSR-1 基本代码规范的继承与扩展. 本规范希望通过制定一系列规范化PHP代码的规则,以减少在浏览不同作者的代码时,因代码风格的不同而造成不便. 当多名程序员在多个项目中合 ...
 - PSR-2 代码风格规范
		
https://blog.csdn.net/qq_28602957/article/details/52248239 这篇规范是PSR-1(基本代码规范)的扩展和继承. 本规通过制定一系列规范化PHP ...
 - Python 代码风格规范(Google)
		
Python风格规范 分号 tip 不要在行尾加分号, 也不要用分号将两条命令放在同一行. 行长度 tip 每行不超过80个字符 例外: 长的导入模块语句 注释里的URL 不要使用反斜杠连接行. Py ...
 - .net 代码风格规范
		
声明:内容非原创,转自张子阳博客. 对于为什么是转载,唯一原因就是这东西居然比我整理的好,直接用得了. 1. C# 代码风格要求 1.1注释 类型.属性.事件.方法.方法参数,根据需要添加注释. 如果 ...
 - .Net 项目代码风格规范
		
最近没啥时间自己状态也不是很好,公司的事情忙,自己也有一些事情要处理,所以好久没有写博客了.利用公司午休时间写一写,以下是参考了一些资料,整理出来,共勉之. 代码风格没有正确与否,重要的是整齐划一,清 ...
 - Google的代码风格规范,各种语言都很全
		
https://code.google.com/p/google-styleguide/
 - python代码风格规范
		
类注释模板: :: class AnotherClass: """ 类注释 """ def method(self, arg1, arg2, ...
 
随机推荐
- 【题解】Berland.Taxi Codeforces 883L 模拟 线段树 堆
			
Prelude 题目传送门:ヾ(•ω•`)o Solution 按照题意模拟即可. 维护一个优先队列,里面装的是正在运营中的出租车,关键字是乘客的下车时间. 维护一个线段树,第\(i\)个位置表示第\ ...
 - 4.UiCollection API 详细介绍
			
一.UiCollection类介绍 UiCollection类两大功能:从集合中查找对象:获取某种搜索条件组件的数量 1.UiCollection类说明 1)UiCollection是UiObject ...
 - 基于OpenResty和Node.js的微服务架构实践
			
什么是微服务? 传统的单体服务架构是单独服务包,共享代码与数据,开发成本较高,可维护性.伸缩性较差,技术转型.跨语言配合相对困难.而微服务架构强调一个服务负责一项业务,服务可以单独部署,独立进行技术选 ...
 - socketserver多线程处理
			
一.简介 SocketServer简化了网络服务器的编写.在进行socket创建时,使用SocketServer会大大减少创建的步骤,并且SocketServer使用了select它有5个类:Base ...
 - python---基础知识回顾(四)(模块sys,os,random,hashlib,re,序列化json和pickle,xml,shutil,configparser,logging,datetime和time,其他)
			
前提:dir,__all__,help,__doc__,__file__ dir:可以用来查看模块中的所有特性(函数,类,变量等) >>> import copy >>& ...
 - hdu 4940 Destroy Transportation system (无源汇上下界可行流)
			
Destroy Transportation system Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 ...
 - HDU 2239 polya计数 欧拉函数
			
这题模数是9937还不是素数,求逆元还得手动求. 项链翻转一样的算一种相当于就是一种类型的置换,那么在n长度内,对于每个i其循环节数为(i,n),但是由于n<=2^32,肯定不能直接枚举,所有考 ...
 - IIS 网站日志分析
			
最近由于ADSL代理总出问题,导致爬虫服务器总被目标网站封,由于请求内容总是空,前端APP获取不到想要的内容就一直刷新,导致爬虫服务器请求更加繁忙. 爬虫服务器每执行完一个流程,都会给统计服务器Pos ...
 - 使用 jQuery 避免鼠标双击
			
介绍 当用户双击DOM对象(例如按钮和链接等)时,对于用户交互一直是个麻烦的问题. 幸运的是, jQuery 提供了一个相当棒的解决方法. 那就是.one(). .one()这个方法是做什么的? 它附 ...
 - 【CodeForces】908 E. New Year and Entity Enumeration
			
[题目]E. New Year and Entity Enumeration [题意]给定集合T包含n个m长二进制数,要求包含集合T且满足以下条件的集合S数:长度<=m,非和与的结果都在集合中. ...