基于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 编程请选择正确的文本编辑软件
Dec 21 PHP
php5数字型字符串加解密代码
Apr 24 PHP
php下intval()和(int)转换使用与区别
Jul 18 PHP
php 删除cookie和浏览器重定向
Mar 16 PHP
php 文件上传系统手记
Oct 26 PHP
PHP中使用memcache存储session的三种配置方法
Apr 05 PHP
php数组索引的Key加引号和不加引号的区别
Aug 19 PHP
PHP判断JSON对象是否存在的方法(推荐)
Jul 06 PHP
php中类和对象:静态属性、静态方法
Apr 09 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
Dec 13 PHP
基于PHP实现短信验证码发送次数限制
Jul 11 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
ThinkPHP中的三大自动简介
2014/08/22 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
用js实现层随着内容大小动态渐变改变 推荐
2009/12/19 Javascript
js控制CSS样式属性语法对照表
2012/12/11 Javascript
javascript删除option选项的多种方法总结
2013/11/22 Javascript
防止jQuery ajax Load使用缓存的方法小结
2014/02/22 Javascript
jquery实现在页面加载的时自动为日期插件添加当前日期
2014/08/20 Javascript
js读取json的两种常用方法示例介绍
2014/10/19 Javascript
如何减少浏览器的reflow和repaint
2015/02/26 Javascript
javascript实现十秒钟后注册按钮可点击的方法
2015/05/13 Javascript
js正则相关知识点专题
2018/05/10 Javascript
使用vue 国际化i18n 实现多实现语言切换功能
2018/10/11 Javascript
详解关闭令人抓狂的ESlint 语法检测配置方法
2019/10/28 Javascript
[34:27]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第一局
2016/02/26 DOTA
[01:08:30]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第一场 2月28日
2021/03/11 DOTA
Python中实现对list做减法操作介绍
2015/01/09 Python
Python导出DBF文件到Excel的方法
2015/07/25 Python
python 字符串转列表 list 出现\ufeff的解决方法
2017/06/22 Python
python3爬取各类天气信息
2018/02/24 Python
python 爬虫 批量获取代理ip的实例代码
2018/05/22 Python
python生成以及打开json、csv和txt文件的实例
2018/11/16 Python
使用python对文件中的单词进行提取的方法示例
2018/12/21 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
2020/05/12 Python
英国马匹装备和马术用品购物网站:Equine Superstore
2019/03/03 全球购物
网络书店创业计划书
2014/02/07 职场文书
学生会副主席竞聘书
2014/03/31 职场文书
《地震中的父与子》教学反思
2014/04/10 职场文书
美术学专业求职信
2014/07/23 职场文书
2014年维稳工作总结
2014/11/18 职场文书
2015迎新晚会开场白
2015/05/29 职场文书
2019年市场部个人述职报告(三篇)
2019/10/23 职场文书
CSS3 制作的彩虹按钮样式
2021/04/11 HTML / CSS
python用海龟绘图写贪吃蛇游戏
2021/06/18 Python