基于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 相关文章推荐
用Flash图形化数据(一)
Oct 09 PHP
PHP4与PHP3中一个不兼容问题的解决方法
Oct 09 PHP
PHP HTML代码串 截取实现代码
Jun 29 PHP
PHP+MySQL 手工注入语句大全 推荐
Oct 30 PHP
php在服务器执行exec命令失败的解决方法
Mar 03 PHP
PHP正则表达式之定界符和原子介绍
Oct 05 PHP
php mssql扩展SQL查询中文字段名解决方法
Oct 15 PHP
php支付宝接口用法分析
Jan 04 PHP
PHP使用递归生成文章树
Apr 21 PHP
PHP使用mkdir创建多级目录的方法
Dec 22 PHP
php微信开发之批量生成带参数的二维码
Jun 26 PHP
php获取当前url地址的方法小结
Jan 10 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教程 基本语法
2009/10/23 PHP
Php 构造函数construct的前下划线是双的_
2009/12/08 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
2016/08/17 PHP
ThinkPHP5 验证器的具体使用
2018/05/31 PHP
js的with语句使用方法
2007/09/21 Javascript
FireFox JavaScript全局Event对象
2009/06/14 Javascript
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
2011/02/18 Javascript
javascript中节点的最近的相关节点访问方法
2013/03/20 Javascript
js数组去重的方法汇总
2015/07/29 Javascript
从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
2016/06/12 Javascript
Boostrap实现的登录界面实例代码
2016/10/09 Javascript
bootstrap实现动态进度条效果
2017/03/08 Javascript
jQuery获取table下某一行某一列的值实现代码
2017/04/07 jQuery
easyui-datagrid特殊字符不能显示的处理方法
2017/04/12 Javascript
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
layer插件select选中默认值的方法
2018/08/14 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
2018/11/27 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
js实现前端界面导航栏下拉列表
2020/08/27 Javascript
[01:10]DOTA2次级职业联赛 - U5战队宣传片
2014/12/01 DOTA
[05:00]TI9战队采访 - Royal Never Give Up
2019/08/20 DOTA
跟老齐学Python之有容乃大的list(1)
2014/09/14 Python
Python AES加密模块用法分析
2017/05/22 Python
基于python3 类的属性、方法、封装、继承实例讲解
2017/09/19 Python
Python跨文件全局变量的实现方法示例
2017/12/10 Python
python中Apriori算法实现讲解
2017/12/10 Python
Python星号*与**用法分析
2018/02/02 Python
基于Python socket的端口扫描程序实例代码
2018/02/09 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
应聘医学检验人员自荐信
2013/09/27 职场文书
《谁的本领大》教后反思
2014/04/25 职场文书
对照检查剖析材料
2014/09/30 职场文书
素质教育培训心得体会
2016/01/19 职场文书
《世界多美呀》教学反思
2016/02/22 职场文书
2019年房屋委托租赁合同范本(通用版)!
2019/07/17 职场文书