php代码规范说明文档

命名规则:采用驼峰标识,尽量做到见名知义

 

PHP编码规范与原则

//命名:类,方法,函数,变量,

注释:开发中难免留下一些临时代码和调试代码,此类代码必须添加注释,以免日后遗忘。所有临时性、调试性、试验性的代码,必须添加统一的注释标记“//debug”并后跟完整的注释信息,这样可以方便在程序发布和最终调试前批量检查程序中是否还存在有疑问的代码。

如:$flag = TRUE; //debug 这里不能确定是否需要对$flag进行赋值

 

缩进/空格:使用四个空格为每层次缩进。对于最大缩进层数,并没有一个固定的规矩,假如缩进层数大于五层的时候,考虑着将代码因数分解。

 

运算符小括号、关键词和函数:不要把小括号和关键词紧贴在一起,要用空格隔开它们;不要把小括号和函数名紧贴在一起;除非必要,不要在Return返回语句中使用小括号。

如:

if (condition) {

}

 

大括号{}ifswitch

首括号与关键词同行,尾括号与关键字同列;

if结构中,if和elseif与前后两个圆括号同行,左右各一个空格,所有大括号都单独另起一行。另外,即便if后只有一行语句,仍然需要加入大括号,以保证结构清晰;总是将恒量放在等号/不等号的左边。

switch结构中,通常当一个case块处理后,将跳过之后的case块处理,因此大多数情况下需要添加break。break的位置视程序逻辑,与case同在一行,或新起一行均可,但同一switch体中,break的位置格式应当保持一致。

如:

$result = (($a + 1) * 3 / 2 + $num)).’Test’;

If ($condition) {

}

else

{

}

 

switch ($var)

{

case 1: echo ‘var is1’; break;

case 2: echo ‘var is2’; break;

default: echo ‘var is neither 1 or2’; break;

}

continue,break 和 ? 的使用:把条件放在括号内以使它和其他的代码相分离;如果可能的话,动作可以用简单的函数;把所做的动作,“?”,“:”放在不同的行,除非他们可以清楚的放在同一行。

如:

(condition) ? funct1() : func2();

(condition)
? long statement
: another long statement;

不要采用缺省方法测试非零值:

用if (FAIL != f()) 比if (f()) 好

布尔逻辑:

if (TRUE == func()) { …
应该写成:
if (FALSE != func()) { …

避免嵌入式的赋值:

如:while ($a != ($c = getchar()))     要避免

 

引号

写数组的索引时,必须使用单引号  如:$test[‘key’]

绝大多数可以使用单引号的场合,禁止使用双引号

声明块的定位:声明代码块需要对齐

如:

var $mDate

var $mName

 

常量:常量应该总是全部使用大写字母命名,少数特别必要的情况下,可使用划线来分隔单词

函数定义:参数的名字和变量的命名规范一致;函数定义中的左小括号,与函数名紧挨,中间无需空格;开始的左大括号另起一行;具有默认值的参数应该位于参数列表的后面;函数调用与定义的时候参数与参数之间加入一个空格;必须仔细检查并切实杜绝函数起始缩进位置与结束缩进位置不同的现象。

包含调用:包含调用程序文件,请全部使用require_once,以避免可能的重复包含问题;
包含调用缓存文件,由于缓存文件无法保证100%正确打开,请使用include_once或include。在必要时,可以使用@include_once或@include的方式,以忽略错误提示;

注释规则

类注释:

方法注释

变量注释

if (0)来注释外部代码块

有时需要注释大段的测试代码,最简单的方法就是使用if (0)块:

你不能使用/**/,因为注释内部不能包含注释,而大段的程序中可以包含注释。

 

PHP文件扩展名

所有浏览者可见页面使用.html

所有类、函数库文件使用.php

 

PHP代码标记

统一使用<?php ?>,只输出变量时<?=$username?>

 

SQL设计规范

命名:表名,字段名,字段结构,索引名

表和字段命名:所有数据表名称,只要其名称是可数名词,则必须以复数方式命名,例如:phpcms_member(用户表);存储多项内容的字段,或代表数量的字段,也应当以复数方式命名,例如:hits(查看次数)、items(内容数量)。

 

SQL语句书写:所有SQL语句中,除了表名、字段名称以外,全部语句和函数均需大写,应当杜绝小写方式或大小写混杂的写法。进行SQL执行的数据必须进行有效性检测。

SQL语句书写遵循优化原则

书写规范

HTML 属性全部用双引号

尽量不要穿插PHP代码

输出网页的页面不出现SQL语句

转载于:https://www.cnblogs.com/yanghome/archive/2012/10/18/2729857.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260295.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

下载网页中的图片到本地

简单的一个下载如下 &#xff1a; string url "http://avatar.csdn.net/A/2/6/2_yefengzhixia.jpg";string filepath "D:\\pic.jpg";WebClient mywebclient new WebClient();mywebclient.DownloadFile(url, filepath);MessageBox.Show("OK");…

nacos linux启动_微服务系列之Nacos配置中心之一:Nacos介绍与安装

一、Nacos 介绍Nacos 是 Alibaba 公司推出的开源工具&#xff0c;用于实现分布式系统的服务发现与配置管理。英文全称 Dynamic Naming and Configuration Service&#xff0c;Na 为 Naming/NameServer 即注册中心&#xff0c;co 为 Configuration 即配置中心&#xff0c;Servic…

演练:在组件设计器中创建 Windows 服务应用程序

http://msdn.microsoft.com/zh-cn/library/zt39148a(vvs.80).aspx 演练&#xff1a;在组件设计器中创建 Windows 服务应用程序 .NET Framework 2.0其他版本5&#xff08;共 5&#xff09;对本文的评价是有帮助 - 评价此主题注意 Visual Studio 标准版中不提供“Windows 服务”模…

绝对震撼 7款HTML5动画应用及源码

除非特别声明&#xff0c;PHP100新闻均为原创或投稿报道&#xff0c;转载请注明作者及原文链接 原文地址&#xff1a; http://www.php100.com/html/it/mobile/2014/0702/7030.html [导读] 关于HTML5动画&#xff0c;我们已经分享太多了&#xff0c;当然也有很多利用纯CSS3实现的…

maven打包指定main函数

2019独角兽企业重金招聘Python工程师标准>>> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <archive> …

java 任意数平均值_【编程题】通过键盘输入三个任意的数字,计算三个值的平均值,并输出结果。...

【单选题】对放大电路测试NPN型硅管测得Ube>0,Ubc>0,Uce>0【简答题】Even ordinary men understand now that the universe is something vaster and broader than ever thought before.【单选题】【其它】The Einsteins,however,could not afford to pay for the adv…

【转】Direct3D顶点结构使用总结

【转】Direct3D顶点结构使用总结 D3D里面最基本的就是顶点了&#xff0c;虽说一直在用&#xff0c;可是却也是自己比较模糊的一个点&#xff0c;知道其中的意思&#xff0c;却不是很清楚&#xff0c;今天就总结一下&#xff0c;扫一下这个盲区&#xff1a; D3D中的顶点缓冲区的…

quick cocos2d-x 精灵大小(宽高)获取

quick下sprite的大小获取&#xff0c;记录一下&#xff1a; local w sprite:getContentSize().width local h sprite:getContentSize().height 今天连这个最基本的&#xff0c;都不知道怎么获取。挺实用的代码额~转载于:https://www.cnblogs.com/vokie/p/3822248.html

velocityjs 动画库 比jquery默认的animate强

神坑记录&#xff1a; 1、transform: translate3d(80%,0,0); 无法作为参数&#xff0c;必须修改为这种&#xff1a;translateX: 0% 官方文档 http://velocityjs.org/ github地址 https://github.com/julianshapiro/velocity npm下载安装 npm install velocity-animate --save-d…

python中的可变数据类型有列表和元组_Python中列表的 += 和 .extend() 的异同

一道Python题最近有朋友“考”了我一个Python的题&#xff1a;使用和.extend()两种方法扩展元组中的列表会发生什么。虽然我对Python中的可变数据类型、不可变数据类型的概念都有较深的理解&#xff0c;并且也对list的、、.extend()、.append()做过性能分析&#xff0c;但是和.…

简易贪吃蛇小游戏java版_用GUI实现java版贪吃蛇小游戏

本文实例为大家分享了java版贪吃蛇小游戏的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下项目结构新建一个JFrame窗口,作为程序入口public class GameStart{public static void main(String[] args) {JFrame jFrame new JFrame();jFrame.setBounds(100,100,900,720…

几种代价函数

SAD&#xff08;Sum of Absolute Difference&#xff09;SAE&#xff08;Sum of Absolute Error)即绝对误差和 SATD&#xff08;Sum of Absolute Transformed Difference&#xff09;即hadamard变换后再绝对值求和 SSD&#xff08;Sum of Squared Difference&#xff09;SSE&am…

Markdown文件导出为HTML的小程序

Markdown文件导出为HTML的小程序为什么做 最近把一些学习经验记下来&#xff0c;总结成MarkDown文件&#xff0c;不知不觉已经有12篇了。 Sublime Text 的 MarkDown Preview 插件能够将MarkDown语法转换为HTML&#xff0c;并提供三种预览方式&#xff1a;浏览器预览、保存为HTM…

python制作自动回复脚本_python itchat实现微信自动回复的示例代码

今天在实验楼发现一个特别好玩的&#xff0c;Python 微信库itchat,可以实现自动回复等多种功能&#xff0c;好玩到根本停不下来啊&#xff0c;尤其是调戏调戏不懂计算机的&#xff0c;特别有成就感&#xff0c;哈哈&#xff01;&#xff01;代码如下&#xff1a;#codingutf8imp…

pta龟兔赛跑Java_PTA-龟兔赛跑

乌龟与兔子进行赛跑&#xff0c;跑场是一个矩型跑道&#xff0c;跑道边可以随地进行休息。乌龟每分钟可以前进3米&#xff0c;兔子每分钟前进9米&#xff1b;兔子嫌乌龟跑得慢&#xff0c;觉得肯定能跑赢乌龟&#xff0c;于是&#xff0c;每跑10分钟回头看一下乌龟&#xff0c;…

视频压缩算法的相关知识

视频压缩算法的相关知识MPEG-1MPEG 视频压缩编码后包括三种元素&#xff1a;I帧&#xff08;I-frames&#xff09;、P帧&#xff08;P-frames&#xff09;和B帧&#xff08;B-frames&#xff09;。在MPEG编码的过程中&#xff0c;部分视频帧序列压缩成为I帧&#xff1b;部分压缩…

安装MariaDB数据库(未完成)

1转载于:https://www.cnblogs.com/centos7/p/5994533.html

python接口开发django_用 Django 开发接口

环境搭建1、pip install django2.2.0一、django-admin startproject UITESTpython manage.py startapp paltform创建Django项目1. 创建方式&#xff1a;#方式1&#xff1a;终端输入django-admin startproject UITEST#方式2:pycharm中新建django项目在settings.py文件中添加应用…

戒掉dota

立言为证。 每次不想学习想到dota就强迫自己去培养的兴趣。 比如看一本喜欢的书&#xff1b;比如去跑个步&#xff1b;比如研究某个兴趣点写个报告&#xff1b;比如写份随笔。 转载于:https://www.cnblogs.com/hongxia/p/3830348.html

java切入式编程显示屏_C语言嵌入式系统编程修炼之四:屏幕操作

C语言嵌入式系统编程修炼之四:屏幕操作作者:宋宝华 更新日期:2005-07-22汉字处理现在要解决的问题是&#xff0c;嵌入式系统中经常要使用的并非是完整的汉字库&#xff0c;往往只是需要提供数量有限的汉字供必要的显示功能。例如&#xff0c;一个微波炉的LCD上没有必要提供显…