- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《PHP代码规范
PHP代码规范
一 编辑器设置
使用Tab缩进,不要使用空格
鉴于很多编辑器在保存文件时会自动清除用于缩进的空格,所以我们一律使用Tab键进行缩进。
UNIX文件格式
请将编辑器设置对所有程序使用UNIX格式保存,不要使用Win32或者Mac的格式。例如,EditPlus里面Document-File Format(CR/LF)-Unix 。
对于windows格式文件,以Ctrl + M结束(vim下为^M),需要过滤掉:
$text = strtr($text, \x0D, );
二 命名约定
公共库名称空间
TPLIB,Tencent PHP Library
常量名
全局常量,用_分隔每个单词,使用TPLIB_前缀。如: define(TPLIB_TEST_HELLO, Hello world!);
类常量,用_分隔每个单词,如:
class TPLIB_Package
{
const EXAMPLE_CONST;
}
尽量使用类常量代替全局常量。
变量名
局部变量的字母都使用小写使用_”作为每个词的分界。使用_”作为每个词的分界
循环索引变量
在循环结构中,仅允许使用一个字母长度的循环索引变量。通常我们使用 $i,如果存在嵌套循环,那么子循环的索引变量应该使用 $j,其下级循环的索引变量就是 $k, 以此类推。如果循环被原已存在一些有具体含义名称的变量索引,则不受此规定约束。
例如:
for ($i = 0;$i $outer_size;$i++)
{
for ($j = 0;$j $inner_size;$j++)
{
foo($i,$j);
}
}
类的方法命名
使用骆驼命名法命名,例如 getCache()、echoName()。名字采用“动词+宾语”的形式。例如 write(动词)Cache(宾语)。
函数命名
函数应该使用描述性词语命名。我们不使用C的方式,也不使用类似stristr()这种没有描述、令人费解的函数名。所有函数名必须全部使用英文小写字母,函数名中的单词之间使用下划线间隔。某些情况下,函数名中更适合使用动词。例如:print_login_status(),get_user_data(),等等。
一个基本的哲学观点,就是不要仅仅出于懒惰而去破坏代码的清晰。比如print_login_status_for_a_given_user() 太长,换成print_user_login_status()会更好,或者仅仅用print_login_status()。
函数自变量
自变量的命名应遵守变量命名规定。我们不想使用do_stuff($a,$b,$c) 中的$a,$b,$c这种缺乏实际表述意义的名称。多数情况下,我们希望能够仅仅通过查看函数的声明就可以了解如何去使用函数。
名称空间与类命名
使用帕斯卡命名方法,如HelloWorld。
由于PHP 5.3版本之前没有实现命名空间语法,这给类命名带来了一定的麻烦。
这里使用类名中附带名称空间的命名方法,名称空间与类名间使用下划线连接。
如TPLIB库中Test包的HelloWorld类:TPLIB_Test_HelloWorld
所有库中的类,都以TP_ 开头根据用途命名。将类名字中的_”替换为目录分隔符,就是这个类的定义文件所在位置。这种命名规则和目录结构避免命名冲突根据类名字就能找到文件存放位置
如:
TPLIB__HelloWorld 类为 TPLIB//HelloWorld.php
文件命名
包含文件应该以.inc.php方式命名,例如config.inc.php。单独类的文件使用Classname.php方式命名,包中的类使用 PackageName/ClassName.php命名。
三 代码层
1.使用大括号
在语言结构(if,else,while,switch,for,foreach)中请在陈述与执行的代码分行,执行的代码放到大括号中,大括号不可省略。
例如:
/* These are all wrong. */
if (condition) do_stuff();
if (condition)
do_stuff();
while (condition)
do_stuff();
for ($i = 0; $i size; $i++)
do_stuff($i);
/* These are right. */
if (condition)
{
do_stuff ();
}
while (condition)
{
do_stuff ();
}
for ($i = 0;$i size;$i++)
{
do_stuff ();
}
您可能关注的文档
最近下载
- 综合交通运输与智能交通重点专项实施方案1.0-提交综合处版.pdf VIP
- 工程交接记录.docx VIP
- 2023年四川省公需科目(数字经济与驱动发展)考试题库及答案.docx
- 变形缝安装施工方案.docx VIP
- 2025年最新版个人征信报告(含水印)模板【可修改】 .pdf VIP
- 爱登堡电气原理图及代号说明EDVF23.pdf VIP
- 20240412-西部证券-爱柯迪-600933-首次覆盖报告:新能源中大件扩张周期,全球化战略开启新篇章.pdf VIP
- 物联网技术与应用(高职物联网相关专业)PPT完整全套教学课件.pptx VIP
- 热烈庆祝八一建军节建军98周年专题.pptx VIP
- 卫生监督协管试题库.pdf VIP
文档评论(0)