基于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 相关文章推荐
phplock(php进程锁) v1.0 beta1
Nov 24 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
Aug 14 PHP
精美漂亮的php分页类代码
Apr 02 PHP
适用于抽奖程序、随机广告的PHP概率算法实例
Apr 09 PHP
php实现将Session写入数据库
Jul 26 PHP
PHP简单实现断点续传下载的方法
Sep 25 PHP
mac系统下为 php 添加 pcntl 扩展
Aug 28 PHP
PHPCMS忘记后台密码的解决办法
Oct 30 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
Apr 21 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
Mar 01 PHP
PHP设计模式入门之状态模式原理与实现方法分析
Apr 26 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
Aug 17 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/05/15 PHP
php打造属于自己的MVC框架
2012/03/07 PHP
浅析php中三个等号(===)和两个等号(==)的区别
2013/08/06 PHP
PHP实现获取域名的方法小结
2014/11/05 PHP
Zend Framework教程之Resource Autoloading用法实例
2016/03/08 PHP
PHP身份证校验码计算方法
2016/08/10 PHP
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
2016/06/08 Javascript
利用Jquery队列实现根据输入数量显示的动画
2016/09/01 Javascript
js导出excel文件的简洁方法(推荐)
2016/11/02 Javascript
canvas绘制的直线动画
2017/01/23 Javascript
Omi v1.0.2发布正式支持传递javascript表达式
2017/03/21 Javascript
react中fetch之cors跨域请求的实现方法
2018/03/14 Javascript
使用JavaScript破解web
2018/09/28 Javascript
详解vue引入子组件方法
2019/02/12 Javascript
Vue结合后台导入导出Excel问题详解
2019/02/19 Javascript
JS实现json数组排序操作实例分析
2019/10/28 Javascript
JS如何实现在弹出窗口中加载页面
2020/12/03 Javascript
Python切片知识解析
2016/03/06 Python
Python 稀疏矩阵-sparse 存储和转换
2017/05/27 Python
基于Django框架利用Ajax实现点赞功能实例代码
2018/08/19 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
Pytorch 实现focal_loss 多类别和二分类示例
2020/01/14 Python
python 装饰器功能与用法案例详解
2020/03/06 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
2020/03/06 Python
Python SMTP配置参数并发送邮件
2020/06/16 Python
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
Java面试题及答案
2012/09/08 面试题
英文版网络工程师求职信
2013/10/28 职场文书
诉前财产保全担保书
2014/05/20 职场文书
单位工作证明
2014/10/07 职场文书
大学生自荐书范文
2015/03/05 职场文书
2016最新离婚协议书范本及程序
2016/03/18 职场文书
2016年“6.26”禁毒宣传月系列活动总结
2016/04/05 职场文书
闭幕词的写作格式与范文!
2019/06/24 职场文书
创业项目大全(适合在家创业的项目)
2019/08/15 职场文书
Python面向对象之成员相关知识总结
2021/06/24 Python