基于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 相关文章推荐
杏林同学录(五)
Oct 09 PHP
基于php上传图片重命名的6种解决方法的详细介绍
Apr 28 PHP
PHP变量内存分配问题记录整理
Nov 27 PHP
PHP内存缓存Memcached类实例
Dec 08 PHP
php中的常用魔术方法汇总
Feb 14 PHP
php文件上传类的分享
Jul 06 PHP
PHP验证码无法显示的原因及解决办法
Aug 11 PHP
Thinkphp5行为使用方法汇总
Dec 21 PHP
phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
Dec 13 PHP
浅析PHP开发规范
Feb 05 PHP
thinkphp5 migrate数据库迁移工具
Feb 20 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
Sep 27 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
PHP5+UTF8多文件上传类
2008/10/17 PHP
php从右向左/从左向右截取字符串的实现方法
2011/11/28 PHP
一个经典实用的PHP图像处理类分享
2014/11/18 PHP
PHP中静态变量的使用方法实例分析
2016/12/01 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
2020/08/20 PHP
JavaScript触发器详解
2007/03/10 Javascript
让Firefox支持event对象实现代码
2009/11/07 Javascript
js null undefined 空区别说明
2010/06/13 Javascript
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
javascript数组排序汇总
2015/07/07 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
2017/10/26 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
2017/12/24 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
2018/03/02 Javascript
vue中axios实现数据交互与跨域问题
2019/05/12 Javascript
javascript实现遮罩层动态效果实例
2019/05/14 Javascript
vue双向绑定数据限制长度的方法
2019/11/04 Javascript
Vue实现Header渐隐渐现效果的实例代码
2020/11/05 Javascript
[42:52]Optic vs Serenity 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python基础语法(Python基础知识点)
2016/02/28 Python
PyQt5每天必学之事件与信号
2018/04/20 Python
使用django的objects.filter()方法匹配多个关键字的方法
2019/07/18 Python
用python介绍4种常用的单链表翻转的方法小结
2020/02/24 Python
python3通过qq邮箱发送邮件以及附件
2020/05/20 Python
Python发送邮件实现基础解析
2020/08/14 Python
应聘自荐书
2013/10/08 职场文书
摄影助理岗位职责
2014/02/07 职场文书
作文评语集锦大全
2014/04/23 职场文书
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书
苏州园林导游词
2015/02/03 职场文书
2015年全国保险公众宣传日活动方案
2015/05/06 职场文书
2016年员工年度考核评语
2015/12/02 职场文书
导游词之镇江西津古渡
2019/11/06 职场文书
代码解析React中setState同步和异步问题
2021/06/03 Javascript
mysql连接查询中and与where的区别浅析
2021/07/01 MySQL