php编程规范整理
该规范对其他语言,部分是通用的标准....好吧,废话不多说啦,直入正题:
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;
8、注释风格
<?
1、当需要对某段代码,做大量描述时,使用以下注释风格
/**
* 我是说明
* ① 流程一
* ② 流程二
* ③ 流程三
*/ 2、当需要对一行代码,做小量描述时,使用以下注释风格
# 这是XXXX给ZZZZ的变量,叫CCCC
$name = ''; 3、当需要对一行代码,做简介描述时,使用以下注释风格
$name = ''; // X表的字段
$index_head = ''; // 首页请求头
php编程规范整理的更多相关文章
- Java编程规范整理
分享一份网友整理的编程过程中的命名规范 包命名 包名按照域名的范围从大到小逐步列出,恰好和Internet上的域名命名规则相反. 由一组以"."连接的标识符构成,通常第一个标识符为 ...
- iOS编程规范(整理)
一.文档结构管理 1.建立Libraries文件夹,所有第三方库放入其中. 2.建立Utilities文件夹,自已封装的类放入其中. 3.建立Constants.h头文件,所有的常量定义于其中.Con ...
- SQL编程规范整理
一.排版规范 1.代码缩进 对于判断.循环等处理使用字符缩进 缩进的空格最好不要使用TAB键 2.空格及换行 变量定义.相对独立的程序块等要单独成行,便于阅读 太长的程序(超过110列)应做换行处理 ...
- 华为C语言编程规范
DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd ...
- 使Eclipse符合Java编程规范
编程规范是很重要的东西,能让团队的代码易于阅读和维护,也便于日后的功能扩展. 工欲善其事必先利其器!作为一个Java程序员,与Eclipse打交道可能是一辈子的事情.将Eclipse设置为符合公司编程 ...
- (转)C++ 编程规范
转载地址:http://www.cnblogs.com/len3d/archive/2008/02/01/1061902.html C/C++编码规范 今天人们越来越明白软件设计更多地是一种工程,而不 ...
- PHP编程规范
好的编程规范不仅是对阅读者的负责,也是对自身的负责: ----割---- 一直以来我都是以php函数的风格来写php,所有变量,函数,类都使用小写,单词之间以下划线隔开,一直比较排斥驼峰式的代码规范, ...
- .Net程序员学用Oracle系列(3):数据库编程规范
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.书写规范 1.1.大小写风格 1.2.缩进风格 1.3.换行 1.4.其它 2.命名规范 2.1.数据库对象命名 2.2.变 ...
- iOS扩展——Objective-C开发编程规范
最近准备开始系统学习一个完整项目的开发流程和思路,在此之前,我们需要对iOS的开发变成规范进行更系统和详尽的学习,随意对编程规范进行了整理和学习.本文内容主要转载自:Objective-C-Codin ...
随机推荐
- vmware平台下两次网络不通的诡异事件
首先表明以下两种情况确实很少见,也可以说确实非常奇怪,无法定位原因由于机缘巧合确实出现了,虽然本文没有找到根因,但是希望能帮遇到类似问题的同学一点思绪. RouteOS内网网卡不可用 首先强调 ...
- [UWP/WPF]在应用开发中安全使用文件资源
在WPF或者UWP应用开发中,有时候会不可避免的需要操作文件系统(创建文件/目录),这时候有几个坑是需要大家注意下的. 创建文件或目录时的非法字符检测 在Windows系统中,我们创建文件时会注意到, ...
- java数组-如何在一堆数据中使用数组!
数组 1.类型一致的一组数据,其实相当于集合概念. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成.其中,每一个数据称作一个数组元素(item),每个数组元素可以通过一个下标/索引来 ...
- jzoj5929. 【NOIP2018模拟10.26】情书
动态规划: #include<bits/stdc++.h> using namespace std; int n,iv[30]; #define mo 998244353 typedef ...
- document.domain实现不同域名跨域
利用document.domain 实现跨域:前提条件:这两个域名必须属于同一个基础域名!而且所用的协议,端口都要一致,否则无法利用document.domain进行跨域. 两个子域名:aaa.xxx ...
- centos6.2升级到centos6.8(6.5应该也一样)
1.根据这篇文章https://wenku.baidu.com/view/55bf7f8db8f67c1cfad6b8bf.html修改CentOS-Base.repo文件(主要是修改baseurl为 ...
- Ubuntu 13.10下安装ns2 2.35遇到的小问题
前面下载安装的环节我就不多说了,网上已经有很多的例子,最全的是一个新浪网友写的博客:http://blog.sina.com.cn/s/blog_785a23ae0100xraq.html.他使用的是 ...
- Liferay7 BPM门户开发之10: 通用流程实现从Servlet到Portlet(Part1)
开发目的: 实现通用流程自动化处理(即实现不需要hardcode代码的bpm统一处理后台,仅需要写少量前端html form代码和拖拽设计BPM定义) 既可独立运行或可依托于Liferay或依托其它门 ...
- [EXP]Apache Superset < 0.23 - Remote Code Execution
# Exploit Title: Apache Superset < 0.23 - Remote Code Execution # Date: 2018-05-17 # Exploit Auth ...
- 通过Anaconda在Ubuntu16.04上安装 TensorFlow(GPU版本)
一. 安装环境 Ubuntu16.04.3 LST GPU: GeForce GTX1070 Python: 3.5 CUDA Toolkit 8.0 GA1 (Sept 2016) cuDNN v6 ...