基于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 相关文章推荐
基于mysql的论坛(3)
Oct 09 PHP
PHP session会话的安全性分析
Sep 08 PHP
ThinkPHP跳转页success及error模板实例教程
Jul 17 PHP
PHP 5.3新增魔术方法__invoke概述
Jul 23 PHP
PHP的cURL库简介及使用示例
Feb 06 PHP
微信开发之网页授权获取用户信息(二)
Jan 08 PHP
PHP入门教程之操作符与控制结构流程详解
Sep 09 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
Sep 22 PHP
详解php中 === 的使用
Oct 24 PHP
浅析php-fpm静态和动态执行方式的比较
Nov 09 PHP
php写一个函数,实现扫描并打印出自定目录下(含子目录)所有jpg文件名
May 26 PHP
PHP与以太坊交互详解
Aug 24 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
火影忍者:三大瞳力之一的白眼,为什么没有写轮眼那么出色?
2020/03/02 日漫
php用正则表达式匹配中文实例详解
2013/11/06 PHP
php使用 readfile() 函数设置文件大小大小的方法
2017/08/11 PHP
原生js实现查找/添加/删除/指定元素的class
2013/04/12 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
2013/04/17 Javascript
JQuery each()嵌套使用小结
2014/04/18 Javascript
javascript的document.referrer浏览器支持、失效情况总结
2014/07/18 Javascript
javascript实现删除前弹出确认框
2015/06/04 Javascript
Window.Open打开窗体和if嵌套代码
2016/04/15 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
Bootstrap基本组件学习笔记之input输入框组(9)
2016/12/07 Javascript
nodejs入门教程六:express模块用法示例
2017/04/24 NodeJs
JavaScript输入分钟、秒倒计时技巧总结(附代码)
2017/08/17 Javascript
Node.js引入UIBootstrap的方法示例
2018/05/11 Javascript
Vue 组件传值几种常用方法【总结】
2018/05/28 Javascript
vue中的数据绑定原理的实现
2018/07/02 Javascript
微信小程序使用wxParse解析html的实现示例
2018/08/30 Javascript
Python 3.x 判断 dict 是否包含某键值的实例讲解
2018/07/06 Python
python日志模块logbook使用方法
2019/09/19 Python
PyCharm无法引用自身项目解决方式
2020/02/12 Python
基于Python fminunc 的替代方法
2020/02/29 Python
python修改linux中文件(文件夹)的权限属性操作
2020/03/05 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
2020/04/02 Python
Python如何读写CSV文件
2020/08/13 Python
flask项目集成swagger的方法
2020/12/09 Python
网上常见的一份Linux面试题(多项选择部分)
2014/09/09 面试题
员工考核管理制度
2014/02/02 职场文书
《识字五》教学反思
2014/03/01 职场文书
中国好声音广告词
2014/03/18 职场文书
幼儿教师演讲稿
2014/05/06 职场文书
小学生五年级大队长竞选发言稿
2014/09/12 职场文书
专升本学生毕业自我鉴定
2014/10/04 职场文书
海上钢琴师观后感
2015/06/03 职场文书
家长会后的感想
2015/08/11 职场文书
JDBC连接的六步实例代码(与mysql连接)
2021/05/12 MySQL
「租借女友」第2季樱泽墨角色PV&新视觉图公开
2022/03/21 日漫