基于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 相关文章推荐
操作Oracle的php类
Oct 09 PHP
一段php加密解密的代码
Jul 16 PHP
php实现的遍历文件夹下所有文件,编辑删除
Jan 05 PHP
写一段简单的PHP建立文件夹代码
Jan 06 PHP
Yii2实现让关联字段支持搜索功能的方法
Aug 10 PHP
PHP Cookie学习笔记
Aug 23 PHP
简单谈谈PHP中的Reload操作
Dec 12 PHP
Yii2 加载css、js 载静态资源的方法
Mar 10 PHP
Yii框架分页实现方法详解
May 20 PHP
thinkPHP框架实现多表查询的方法
Jun 14 PHP
Laravel源码解析之路由的使用和示例详解
Sep 27 PHP
PHP中number_format()函数的用法讲解
Apr 08 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模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
php4与php5的区别小结(配置异同)
2011/12/20 PHP
yii框架中的Url生产问题小结
2012/01/16 PHP
PHP-Fcgi下PHP的执行时间设置方法
2013/08/02 PHP
Yii2创建表单(ActiveForm)方法详解
2016/07/23 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
PHP-FPM 的管理和配置详解
2019/02/17 PHP
javascript+iframe 实现无刷新载入整页的代码
2010/03/17 Javascript
基于MooTools的很有创意的滚动条时钟动画
2010/11/14 Javascript
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
javascript 小数乘法结果错误的处理方法
2016/07/28 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
2017/02/28 Javascript
js禁止Backspace键使浏览器后退的实现方法
2017/09/01 Javascript
react-native使用react-navigation进行页面跳转导航的示例
2017/09/07 Javascript
jQuery实现滚动效果
2017/11/17 jQuery
微信小程序scroll-view组件实现滚动动画
2018/01/31 Javascript
vue2中使用less简易教程
2018/03/27 Javascript
vue 本地服务不能被外部IP访问的完美解决方法
2018/10/29 Javascript
利用jquery和BootStrap实现动态滚动条效果
2018/12/03 jQuery
python 实现一个贴吧图片爬虫的示例
2017/10/12 Python
python实现AES加密和解密
2019/03/27 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
2019/06/03 Python
Python3 使用pillow库生成随机验证码
2019/08/26 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
python连接mysql数据库并读取数据的实现
2020/09/25 Python
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
HTML5制作酷炫音频播放器插件图文教程
2014/12/30 HTML / CSS
青年创业培训欢迎词
2014/01/08 职场文书
高中毕业生登记表自我鉴定范文
2014/03/18 职场文书
巾帼文明岗申报材料
2014/05/01 职场文书
2014年图书室工作总结
2014/12/09 职场文书
2016年4月份红领巾广播稿
2015/12/21 职场文书
Python基础教程,Python入门教程(超详细)
2021/06/24 Python
logback 实现给变量指定默认值
2021/08/30 Java/Android
python游戏开发之pygame实现接球小游戏
2022/04/22 Python
解决spring.thymeleaf.cache=false不起作用的问题
2022/06/10 Java/Android