基于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 相关文章推荐
BBS(php &amp; mysql)完整版(一)
Oct 09 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
May 06 PHP
PHP在线生成二维码代码(google api)
Jun 03 PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
May 10 PHP
php中把美国时间转为北京时间的自定义函数分享
Jul 28 PHP
php输入流php://input使用浅析
Sep 02 PHP
php针对cookie操作的队列操作类实例
Dec 10 PHP
Laravel 5框架学习之路由、控制器和视图简介
Apr 07 PHP
php将日期格式转换成xx天前的格式
Apr 16 PHP
Yii操作数据库实现动态获取表名的方法
Mar 29 PHP
php打包压缩文件之ZipArchive方法用法分析
Apr 30 PHP
php实现登陆模块功能示例
Oct 20 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 时间转换Unix时间戳代码
2010/01/22 PHP
用sql命令修改数据表中的一个字段为非空(not null)的语句
2010/06/04 PHP
spl_autoload_register与autoload的区别详解
2013/06/03 PHP
PHP实现的MongoDB数据库操作类分享
2014/05/12 PHP
Symfony2安装的方法(2种方法)
2016/02/04 PHP
php自定义函数实现统计中文字符串长度的方法小结
2017/04/15 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
自适应高度框架 ----属个人收藏内容
2007/01/22 Javascript
jquery tools 系列 scrollable(2)
2009/09/06 Javascript
详解强大的jQuery选择器之基本选择器、层次选择器
2012/02/07 Javascript
js实现Select头像选择实时预览代码
2015/08/17 Javascript
angularjs自定义ng-model标签的属性
2016/01/21 Javascript
深入理解jQuery之防止冒泡事件
2016/05/24 Javascript
js自定义弹框插件的封装
2020/08/24 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
2018/09/16 Javascript
JavaScript中的执行环境和作用域链
2020/09/04 Javascript
Python检测网络延迟的代码
2018/05/15 Python
对pandas的行列名更改与数据选择详解
2018/11/12 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
Python中求对数方法总结
2020/03/10 Python
pyautogui自动化控制鼠标和键盘操作的步骤
2020/04/01 Python
使用phonegap获取位置信息的实现方法
2017/03/31 HTML / CSS
英国最大的老式糖果店:A Quarter Of
2017/04/08 全球购物
英国时尚配饰、珠宝和服装网站:KJ Beckett
2020/01/23 全球购物
Linux Interview Questions For software testers
2013/05/17 面试题
单位单身证明范本
2014/01/11 职场文书
面试后感谢信怎么写
2014/02/01 职场文书
中西医专业毕业生职业规划书
2014/02/24 职场文书
大型会议接待方案
2014/03/01 职场文书
给校长的建议书600字
2014/05/15 职场文书
4s店活动策划方案
2014/08/25 职场文书
党员先进性教育整改措施
2014/09/18 职场文书
军训结束新闻稿
2015/07/17 职场文书
朋友聚会祝酒词
2015/08/10 职场文书
导游词之吉林花园山
2019/10/17 职场文书
Pytorch数据读取之Dataset和DataLoader知识总结
2021/05/23 Python