搜索
首页php教程php手册JoshChen_php新手进阶高手不可或缺的规范介绍

所以,今天就整理了一下PHP的规范,让大家参考参考。就像大家常说的一句话,“规矩是死的,人是活的。”。是的,但是,在规矩中成长的人都会拥有一堆非常让人羡

PHP规范
1. 为什么要编码规范
•编码规范(code conventions)对于程序员而言尤为重要,有以下几个原因:
1.在一个软件的生命周期中,80%的花费用于维护。

2.几乎没有任何一个软件在其整个生命周期中均由最初的开发人员来维护。

3.编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码。

4.如果将源码作为产品发布,就需要确认它是否被很好地打包并且清晰无误,和其他已构建的任何产品一样。

2. 概要
•用四个空格代替tab缩进。
•去掉PHP文件底部的“?>”。
•每行程序一般少于80字符,超出部分,分成多行书写。
•每行只写一条语句,不允许把多个短语句写在一行中。
•应为文件和函数添加注释。
•应及时删除废除的注释代码。
•变量、函数的命名应规范。

3. 编辑器设定
3.1. 缩进
所有的缩进使用空格取代Tab制表符。PHP文件采用4个空格的缩进,HTML文件以及HTML文件中嵌入的Javascript代码采用2个空格的缩进;单独的 Javascript以及CSS文件采用4个空格的缩进。

3.2. 字符编码
所有PHP、HTML文件均保存为No Bom UTF-8的字符编码。

4. 代码布局
4.1. 文件底部
去掉文件底部 “?>”。

4.2. 相对独立的程序块之间、变量说明之后必须加空行
示例:如下例子不符合规范

复制代码 代码如下:


if (!$valid_ni()){
    ... // program code
}
$repssn_ind = $ssn_data['index']->repssn_index;
$repssn_ni  = $ssn_data['index']->ni;
应如下书写:

if (!valid_ni(){
    ... // program code
}

$repssn_ind = $ssn_data['index]->repssn_index;
$repssn_ni  = $ssn_data[index]->ni;


4.3. 较长的语句要分成多行书写
一行程序需小于80字符

较长的语句要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。

循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首示例:

复制代码 代码如下:


$perm_count_msg->len = NO7_TO_STAT_PERM_COUNT_LEN
                          + STAT_SIZE_PER_FRAM * strlen( $len );

$act_task_table[$frame_id * STAT_TASK_CHECK_NUMBER + $index]->occupied
              = $stat_poi[index]->occupied;

$act_task_table[taskno]->duration_true_or_false
              = sys_get_sccp_statistic_state( $stat_item );

if (($taskno && (n7stat_stat_item_valid ($stat_item))){
    ... // program code
}

for ($i = 0, $j = 0; ($i word_length)
                    && ($j word_length); $i++, $j++){
    ... // program code
}


4.4. 一行只写一条语句
不允许把多个短语句写在一行中,即一行只写一条语句。示例:如下例子不符合规范

$rect->length = 0;  $rect->width = 0;
应如下书写:
$rect->length = 0;$rect->width  = 0;4.5. 始终包含大括号
这是因为懒于多敲两个字符而给代码清晰带来问题的又一个情形。

示例:如下例子不符合规范

复制代码 代码如下:


if ($condition)    do_stuff();
if ($condition)
     do_stuff();
 while ($condition)
     do_stuff();
 for ($i = 0; $i      do_stuff($i);


应如下书写

复制代码 代码如下:


if (condition){
    do_stuff();
}
while ($condition){
    do_stuff();
}
for ($i = 0; $i     do_stuff();
}


4.6. switch写法
示例:如下例子符合规范

复制代码 代码如下:


switch (){
case ‘1':
    ..program
    break;
case ‘2':
    ..program
    break;
}


4.7. 大括号放在哪儿
程序块的分界符(大括号‘{'和‘}')应各独占一行并且位于同一列,同时与引用它们的语句左对齐。

而在函数体的开始、类的定义、以及if、for、do、while、switch、case语句中的右大括号应放在行尾, 左大括号应与右大括号所在行的行首处在同一列

示例:如下例子不符合规范

复制代码 代码如下:


for (...)
{
    ... // program code
}

if (...)
{
    ... // program code
}

function example_fun()
{
    ... // program code
}
应如下书写:for (...){
    ... // program code
}

if (...){
    ... // program code
}

function example_fun(){
 ... // program code
}


4.8. 符号之间使用空格
采用这种松散方式编写代码的目的是使代码更加清晰。

由于留空格所产生的清晰性是相对的,美国空间,所以,在已经非常清晰的语句中没有必要再留空格,如果语句已足够清晰则括号内侧(即左括号后面和右括号前面)不需要加空格,服务器空间,多重括号间不必加空格。在长语句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部不加空格。给操作符留空格时不要连续留两个以上空格。

示例:如下例子不符合规范

复制代码 代码如下:


$i=0;
if($iif ( ($i 8) ) ...
for($i=0; $i$i=($j do_stuff( $i, "foo", $b );


应如下书写:

复制代码 代码如下:

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具