您好!PHP家园欢迎您! [个人会员]

您可以学习、提问、发布您的作品——将所学的知识转化为财富。

收藏本站 | 关于我们
最新资讯MORE

php就业及薪资待遇情况实时图表分析

谁承认IT培训机构所颁发的证书?

哪些大型网站在用PHP语言?

网站开发学习为什么首选PHP语言?

刚入行的程序员不要什么语言都学习

最新提问MORE

滚动条的颜色在不同浏览器中的颜色不同

一条SQL语句从一张表中分别查询两组不同类型数据的各自总数量

商城里的购物车怎么做?

Fireworks教程MORE
Fireworks常用快捷键整理 fireworks常用的快键工具条的用法 Fireworks钢笔工具的重要性及学习技巧 模仿——Fireworks网页设计的必修课 Fireworks里文本工具的学习方法及使用技巧
HTML教程MORE
用TABLE来做布局一张页面,我们提供网页模板供您做练习 HTML的颜色值 SEO与HTML的语义 HTML中不常用的标签学习 HTML的框架元素及框架使用中的注意事项
CSS教程MORE
利用IEtester测试CSS样式在不同浏览器中的兼容性 CSS样式调试的附助工具firebug CSS的在不同浏览器中的兼容性处理IE不同版本及GOOGLE、火狐等 CSS的滤镜学习 CSS控制滚动条的样式
JavascriptMORE
javascript的概念及用法 Javascript函数-函数名:getUTCSeconds(),属于Date的方法 Javascript函数-函数名:getUTCMonth(),属于Date的方法 Javascript函数-函数名:getUTCMinutes(),属于Date的方法 Javascript函数-函数名:getUTCMilliseconds(),属于Date的方法
网站综合知识点MORE
PHP算法:求1-10000 之间所有数字总和的一个函数,要求用效率最高的方法写 PHPdoc介绍及使用方法 API文档及其相关知识
PHP教程MORE
用PHPDOC生成PHP文档 PHP培训教程,用PHP统计在线人数的方法 参考资料——正则表达式快速入门教程 参考资料——ASCII表 PHP的编码规范,本文总结了我们自己的一套方案,仅供您参考
Web服务器教程MORE
什么是分布式计算以及分布式计算的应用 什么是云计算? 在Linux平台上搭建版本控制系统SVN 搭建FTP服务器及FTP软件的使用方法 在windows平台上搭建版本控制系统SVN

第57课 PHP的编码规范,本文总结了我们自己的一套方案,仅供您参考

分类:>PHP教程 发表时间:2011年07月24日 00:23:38 版权所属:PHP家园
PHP的编码规范,本文总结了我们自己的一套方案,仅供您参考之用,每个程序员都有自己的编码习惯和规范。但是写程序,其实有些时候是有一些约定俗成的规范要遵守的,这样才能把程序写好,写的漂亮整洁,少出BUG

1.文件夹规范

a) 文件夹命名全部用英文单词或可识别的英文缩写,通常情况下不允许中文拼音。
b) 名称中若出现多个单词,中间用下划线分隔。不允许使用中划线和其它字符。
说明:以上要求,有利于提高编码速度,因部分软件在双击选中时,有中划线为认为是多个单词。不能一次性选中整个名字。因此,我们要从细节做起,规范代码命名规范。因此请一律严格按照本文档的规范执行。
 
2.文件规范
a) 同上面第1条中的文件夹的命名规范。
 
3.URL格式规范
a) URL中的参数值尽量是整型值,而不要使用字符串类型值,有利于代码过滤,防止黑客SQL注入。尽量缩短URL的长度。
b) 按新设计的网站架构模式,URL中只出现一个域名,后面全部跟参数,不出现目录层次。
 
4.HTML标签编写规范
a) 以W3C为书写标准。页头为以下代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
b) HTML元素的class命名格式:全部字母小写,不同的英文单词之间用下划线分隔。元素的class名称可读性要比较强。好的命名可以省掉HTML的注释。
c) HTML的子元素名内尽量不要使用同一个class名称,目的方便用CSS调用层次关系时递进方式调用元素或元素的样式名。请参照以下说明:
不建议的方式:
<div class=”test_area”>
<div class=”content”>
<div class=”content”>内容</div>
</div>
</div>
以上代码中出现了两个同名class名content,虽然命名没有错,但是在写css时,可能会有影响。因此建议禁用这种写法。如下所示:
.test_area div.content{/*属性*/}
上面这种写法会直接影响到第二个content,因此有递进关系的同样标签符,如上面都是DIV,建议class名不要重复。如下非递进关系是可以的:
<div class=”test_area”>
<div class=”content”>内容</div>
<div class=”content”>内容</div>
</div>
d) Id名采用驼峰式命名规范,第一个单词的首字母小写。
e) 考虑SEO,正确使用有语义的HTML标签元素
f) 尽量不直接在HTML页面写样式表和JS代码。特殊情况除外。
 
5.CSS样式编写规范
a) 全部小写字母。
b) 每一段独立的样式块,首尾要加上注释。比如一个样式文件中,有多个HTML页面的样式,那么请在控制某一张页面的样式的前后都加上注释,至少要说明是哪张页面样式的开始和结束。
c) 小型站点一张样式表,大型站点采用多张样式表,即不同的频道或栏目可以考虑将样式分离。如果考虑网站效率的提升,可以发布的时候,将多张样式表合并成一张样式表再发布。
 
6.Javascript/JS编写规范
a) 变量名,数组名采用驼峰式命名规范。即和HTML的id号命名规范一致,方便调用和识别。
b) 类名用驼峰式命名,第一个单词的首字母大写,禁用下划线等连接符。
c) 函数名用驼峰式命名,第一个单词的首字母小写,禁用下划线等连接符。
 
7.PHP代码编写
a) 禁用短标签
b) 类名用驼峰式命名,第一个单词的首字母大写,禁用下划线等连接符。
c) 函数名用驼峰式命名,第一个单词的首字母小写,禁用下划线等连接符。
d) 变量名全部用英文小写,多个单词之间用下划线连接。
e) 常量全部大写字母。
 
8.数据库规范
a) 数据库命名:d+真实的名称+DB,例如:user库,dUserDB,user的首字母大写
b) 数据表命名:tb_+表名,例如:user表,tb_user
c) 视图命名:vi_+视图名,例如:user_group,写成:vi_user_group
d) 存储过程命名:pro_存储过程名,例如:user_info,写成:pro_user_info
 
9.SQL语句规范
a) SQL语句中的关键字全部大写。
b) 字段名全部用“`”(数字1左右键上的点)包起,可以有效地防止关键字重复。
10.注释规范
a) 在开发特殊业务处理逻辑时,都要添加注释,并非每一行都要加注释。如果项目是在中文编码或UTF-8编码条件下做开发,请一律使用中文注释。
b) 每一个类和方法的注释,严格按照PHPdoc的规范,,使用多行注释。项目结束可用来生成标准文档。格式如下所示:
/**
+-------------------------------------
* 注释内容
+-------------------------------------
*/
class ClassName {
 
}
c) 单行注释放在需要注释的内容上面独占一行,正式发布的时候可以批量去除。如下所示:
//注释内容
If(条件){ //注释内容 à不允许在本行注释,即不允许在有代码的行加注释
//语句
}
 
11.代码缩进及换行规范
a) PHP,JS语言的缩进一律递进式4个字符宽度。
b) HTML标签对尽量一一对应
c) CSS样式表统一标准,要么单行一次性写完,要么每一个属性独占一行。
d) 减少代码行数
 
12.包含规范
a) 如果能百分之百的确定,初包含的内容不会被重复包含,一律不允许使用include_once()或require_once()来包含。只能使用不带_once的方法包含。
b) 视图页,即HTML页面的包含,如果是包公共页面,尽量全用部使用include()方法。且只能独立一行的方式使用全标签包住,如下所示:
<?php include “文件”; ?>
不允许写成多行,如:
<?php
include “文件”;
?>
以上要求是为了便于将来做代码优化时批处理操作。请严格按照此规范执行。
 
13.推荐开发软件
1)Netbeans 该软件主要用来写HTML,JS,CSS,PHP,该软件具有良好的项目管理功能,是迄今为止,最出色的一个PHP开发工具。
2)Notepad++ 该软件通常附助做编码转换
3)Dreamweaver 该软件临时附助刚入门的同事,编写不熟悉的HTML代码。
 
14.PHP代码和JS代码的建议写法如下:
1)标签
PHP的标签符,严禁使用短标签。如下所示:
<? ?>
必须使用:
<?php ?>
因此,所有的<?=$vsr; ?>,全部要写成<?php echo $var; ?>
每一行完整的语句后面要加分号结束,虽然echo后面可以省略。同时建议分号和?>之间增加一个空格分隔一下。
2)大括号用法:
建议的用法:
If(条件) {
//大括号和小括号之间建议增加一个空格符分隔一下。
//多行语句
}
If(条件) {//单行语句}
不建议的写法:
If(条件)
{
//语句
}
目的是减少代码行数,同时保证代码结构清晰。Function,class等有大括号的都一律参照此规范编写代码。
 
3)条件的写法
值在前,变量在后,例:
If(1 == $var) {
//语句
}
不建议的写法:
If($var == 1) {
//语句
}
目的:防止新入行的程序员编写代码是把比较运算符写成等号,造成出错而难以排查问题所在。
4)符号的间隔
所有的运算符号前后都要加一个空格,如下所示:
建议的写法:
$a = $b + $c; //有空格间隔
不建议的写法:
$a=$b+$c; //无空格间隔
15.PHP的报错处理
建议打开所有报错机制,禁止变量未声明就使用。

PHP家园在线客服 PHP家园在线客服
我们要做一个有思想的人!
所有语录>>