基于php编程规范(详解)


Posted in PHP onAugust 17, 2017

今天写这个是为了 提醒自己 编程过程 不仅要有逻辑 思想 还有要规范 代码 这样可读性

1、PHP 编程规范与编码习惯最主要的有以下几点:

 1 文件说明

 2 function 函数体说明

 3 代码缩进

 4 if省略

 5 变量规范

 6 命名规范

 7 十行一注释

 8 注释风格

 9 开放关闭原则

2、文件说明 个人代码 -规范如下:

<?
/*
 +----------------------------------------------------------------------
 + Title    : 标题
 + Author    : 作者
 + Version   : 版本号
 + Initial-Time : 这个文件初始创建的时间
 + Last-time  : 这个文件最后修改的时间 + 修改人的名称
 + Desc     : 这个文件的简单描述
 +----------------------------------------------------------------------
*/

3、Function 函数体说明:

<?
/**
 * 函数体简单的描述
 * @author_start : 作者
 * @author_end  : 修改时间 + 修改者
 * @param string : $id    描述
 * @param array : $array 描述
 * @param array : $num  描述
 * @return : 返回值说明
*/
function Test($id, $array = array(), $num = 1){
}

注意:Function里面变量参数的代码缩进风格

4、代码缩进:

<?
$str = 1;
$info = '123';
$version = '123123';
$name = 'test';
$i  = 'haha';
 
# 一般在最外部的if 或流程控制语句都应该上下留空一行
if ($info) {
 
}
 
# 一般在最外部的for或者 foreach都应该上下留空一行
for ($i=0 ,$i<6 ,$i++){
 
}

5、IF省略

<?
# 一般在if语句与其分支的流程控制语句当中,存在这exit或者return的情况下,都应该省略其else的部分操作
# 错误
if () {
  return false;
} else {
  return true;
}
# 正确
if () {
  return false;
}
return true;

6、变量规范,使用英文命名

<?
# 正确
$title = '标题';
$name = '名称';
$pwd  = '密码';
# 错误
$biaoti = '标题';
$ming  = '名称';
$mima  = '密码';

7、命名规范

<?
/**
 * 实际开发中,命名方式一般有三种情况
 * 注意:不管是类名,变量,方法名,在实际开发中,最多只能是不超过3个单词的组合
 * 大驼峰 :每个单词首字母大写
 * 小驼峰 :中间单词首字母大写 
 * 蛇形  :每个单词小写,单词与单词之间使用 _ 符合链接
 */
 
# 大驼峰,常用于类名定义
class Car{}
class BlueCar{}
 
# 小驼峰,常用于方法名定义
class Car{
 public function getColor(){}
}
 
# 蛇形,常用于变量名定义
$res_id  = 1;
$res_name = 2;

9、注释风格

<?
1、当需要对某段代码,做大量描述时,使用以下注释风格
/**
 * 我是说明
 * ① 流程一
 * ② 流程二
 * ③ 流程三
 */
 
2、当需要对一行代码,做小量描述时,使用以下注释风格
# 这是XXXX给ZZZZ的变量,叫CCCC
$name = '';
 
3、当需要对一行代码,做简介描述时,使用以下注释风格
$name    = ''; // X表的字段
$index_head = ''; // 首页请求头

10、开放关闭原则

实际上这是一个概念,是设计模式中的一种。

简单来说,就是一个已经完成上线的class或者api,可以在不改动起原文件的情况下,对其功能进行外部扩展。

以上这篇基于php编程规范(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
提升PHP速度全攻略
Oct 09 PHP
最新的php 文件上传模型,支持多文件上传
Aug 13 PHP
PHP设计模式 注册表模式(多个类的注册)
Feb 05 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
Feb 08 PHP
YII CLinkPager分页类扩展增加显示共多少页
Jan 29 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
Jul 01 PHP
PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】
Oct 14 PHP
php函数mkdir实现递归创建层级目录
Oct 27 PHP
关于PHP通用返回值设置方法
Mar 31 PHP
PHP使用xpath解析XML的方法详解
May 20 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
Jan 15 PHP
为何说PHP引用是个坑,要慎用
Apr 02 PHP
PHP数据库操作四:mongodb用法分析
Aug 16 #PHP
PHP Laravel 上传图片、文件等类封装
Aug 16 #PHP
PHP数据库操作三:redis用法分析
Aug 16 #PHP
PHP数据库操作二:memcache用法分析
Aug 16 #PHP
PHP数据库编程之MySQL优化策略概述
Aug 16 #PHP
PHP回调函数与匿名函数实例详解
Aug 16 #PHP
搭建自己的PHP MVC框架详解
Aug 16 #PHP
You might like
php实现无限级分类实现代码(递归方法)
2011/01/01 PHP
php实现高效获取图片尺寸的方法
2014/12/12 PHP
PHP数学运算函数大汇总(经典值得收藏)
2016/04/01 PHP
javascript笔试题目附答案@20081025_jb51.net
2008/10/26 Javascript
判断是否安装flash player及当前版本的JS代码
2013/08/08 Javascript
js toFixed()方法的重写实现精度的统一
2014/03/06 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
JS获得选取checkbox整行数据的方法
2015/01/28 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
jquery判断对象是否为空并遍历对象的简单实例
2016/07/26 Javascript
Angular 1.x个人使用的经验小结
2017/07/19 Javascript
详解自定义ajax支持跨域组件封装
2018/02/08 Javascript
关于微信小程序登录的那些事
2019/01/08 Javascript
vue视频播放暂停代码
2019/11/08 Javascript
js中apply和call的理解与使用方法
2019/11/27 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
2020/02/28 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
[48:27]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
python发腾讯微博代码分享
2014/01/10 Python
python超简单解决约瑟夫环问题
2015/05/12 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
在python中修改.properties文件的操作
2020/04/08 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
Python中常用的os操作汇总
2020/11/05 Python
Python绘制K线图之可视化神器pyecharts的使用
2021/03/02 Python
html5 Canvas画图教程(1)—画图的基本常识
2013/01/09 HTML / CSS
阻止移动设备(手机、pad)浏览器双击放大网页的方法
2014/06/03 HTML / CSS
美国求婚钻戒网站:Super Jeweler
2016/08/27 全球购物
为奢侈时尚带来了慈善元素:Olivela
2018/09/29 全球购物
UNDONE手表官网:世界领先的定制手表品牌
2018/11/13 全球购物
《一株紫丁香》教学反思
2014/02/19 职场文书
计算机软件专业求职信
2014/06/10 职场文书
党员剖析材料范文
2014/09/30 职场文书
学习型家庭事迹材料
2014/12/20 职场文书
小学家庭教育心得体会
2016/01/14 职场文书