基于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 运行效率总结(提示程序速度)
Nov 26 PHP
PHP __autoload函数(自动载入类文件)的使用方法
Feb 04 PHP
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
Apr 26 PHP
PHP中让curl支持sock5的代码实例
Jan 21 PHP
php计算整个目录大小的方法
Jun 19 PHP
学习php设计模式 php实现装饰器模式(decorator)
Dec 07 PHP
变量在 PHP7 内部的实现(一)
Dec 21 PHP
php基于openssl的rsa加密解密示例
Jul 11 PHP
Yii2框架实现数据库常用操作总结
Feb 08 PHP
lnmp安装多版本PHP共存的方法详解
Aug 02 PHP
PHP中一个有趣的preg_replace函数详解
Aug 15 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+MYSQL 出现乱码的解决方法
2008/08/08 PHP
php中$_POST与php://input的区别实例分析
2015/01/07 PHP
php程序内部post数据的方法
2015/03/31 PHP
PHP Curl模拟登录微信公众平台、新浪微博实例代码
2016/01/28 PHP
JQUERY THICKBOX弹出层插件
2008/08/30 Javascript
jQuery下的动画处理总结
2013/10/10 Javascript
js实现图片轮播效果
2015/12/19 Javascript
提升jQuery的性能需要做好七件事
2016/01/11 Javascript
Bootstrap轮播插件简单使用方法介绍
2016/06/21 Javascript
使用Vue的slot插槽分发父组件内容实现高度复用、更加灵活的组件(推荐)
2018/05/01 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
vue项目开发中setTimeout等定时器的管理问题
2018/09/13 Javascript
原生JS封装拖动验证滑块的实现代码示例
2020/06/01 Javascript
vue+swiper实现左右滑动的测试题功能
2020/10/30 Javascript
python字符串编码识别模块chardet简单应用
2015/06/15 Python
python编码总结(编码类型、格式、转码)
2016/07/01 Python
新手如何快速入门Python(菜鸟必看篇)
2017/06/10 Python
Python坐标线性插值应用实现
2019/11/13 Python
Python 装饰器原理、定义与用法详解
2019/12/07 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
2020/03/10 Python
Django 删除upload_to文件的步骤
2020/03/30 Python
python遍历路径破解表单的示例
2020/11/21 Python
css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
2016/12/06 HTML / CSS
StubHub智利:购买和出售您的门票
2016/11/23 全球购物
韩国11街:11STREET
2018/03/27 全球购物
中专生职业生涯规划书范文
2014/01/10 职场文书
中层干部竞争上岗演讲稿
2014/01/13 职场文书
应用英语专业自荐信
2014/01/26 职场文书
迎国庆演讲稿
2014/09/15 职场文书
群众路线教育实践活动批评与自我批评
2014/09/15 职场文书
中班上学期个人总结
2015/02/12 职场文书
端午节寄语2015
2015/03/23 职场文书
解放思想大讨论活动总结
2015/05/09 职场文书
校运会通讯稿
2015/07/18 职场文书
地震捐款简报
2015/07/21 职场文书
PHP实现创建以太坊钱包转账等功能
2021/04/21 PHP