基于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 相关文章推荐
用PHP和ACCESS写聊天室(十)
Oct 09 PHP
PHP 危险函数解释 分析
Apr 22 PHP
php中CI操作多个数据库的代码
Jul 05 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
Feb 14 PHP
php设置编码格式的方法
Mar 05 PHP
基于Zend的Captcha机制的应用
May 02 PHP
解析PHP多种序列化与反序列化的方法
Jun 06 PHP
解析PHP实现多进程并行执行脚本
Jun 18 PHP
关于使用coreseek并为其做分页的介绍
Jun 21 PHP
PHP的构造方法,析构方法和this关键字详细介绍
Oct 22 PHP
PHP响应post请求上传文件的方法
Dec 17 PHP
PHP5.2中PDO的简单使用方法
Mar 25 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短网址的生成代码(仿微博短网址)
2014/05/07 PHP
PHP资源管理框架Assetic简介
2014/06/12 PHP
PHP实现普通hash分布式算法简单示例
2018/08/06 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
javascript下IE与FF兼容函数收集
2008/09/17 Javascript
jQuery去掉字符串起始和结尾的空格(多种方法实现)
2013/04/01 Javascript
js禁止页面使用右键(简单示例代码)
2013/11/13 Javascript
60个很实用的jQuery代码开发技巧收集
2014/12/15 Javascript
JS实现文字向下滚动完整实例
2015/02/06 Javascript
jQuery鼠标经过方形图片切换成圆边效果代码分享
2015/08/20 Javascript
Node.js重新刷新session过期时间的方法
2016/02/04 Javascript
JS判断字符串变量是否含有某个字串的实现方法
2016/06/03 Javascript
使用Javascript监控前端相关数据的代码
2016/10/27 Javascript
nodejs实例解析(输出hello world)
2017/01/03 NodeJs
jQuery选择器实例应用
2017/01/05 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
2018/07/07 Javascript
socket在egg中的使用实例代码详解
2019/05/30 Javascript
js实现移动端tab切换时下划线滑动效果
2019/09/08 Javascript
pycharm 使用心得(二)设置字体大小
2014/06/05 Python
python基于mysql实现的简单队列以及跨进程锁实例详解
2014/07/07 Python
python sort、sorted高级排序技巧
2014/11/21 Python
Python实现破解猜数游戏算法示例
2017/09/25 Python
pycharm远程调试openstack的图文教程
2017/11/21 Python
Python针对给定列表中元素进行翻转操作的方法分析
2018/04/27 Python
python匿名函数用法实例分析
2019/08/03 Python
python groupby 函数 as_index详解
2019/12/16 Python
Python内置函数property()如何使用
2020/09/01 Python
Python爬虫入门教程01之爬取豆瓣Top电影
2021/01/24 Python
CSS3+font字体文件实现圆形半透明菜单具体步骤(图解)
2013/06/03 HTML / CSS
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
白酒市场开发计划书
2014/01/09 职场文书
2014年社区计生工作总结
2014/11/18 职场文书
2014年化验室工作总结
2014/11/21 职场文书
中国梦宣传标语口号
2015/12/26 职场文书
分析Java中Map的遍历性能问题
2021/06/26 Java/Android
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python