资讯专栏INFORMATION COLUMN

PHP编码规范

xuweijian / 2247人阅读

摘要:为什么需要编码规范为了提高工作效率,保证开发的有效性和合理性。在文件编码中,选择推荐在换行符中,选择推荐文件命名程序的文件名和目录名都采用有意义的英文命名。最后最后说的是,本规范不是强制,也不是标准。回复编码规范即可。

为什么需要编码规范?

为了提高工作效率,保证开发的有效性和合理性。

为了提高代码可读性和可重复利用性,从而节约沟通成本。

本文主要参考了 PEAR 规范,并进行适当的简化和调整。

主要介绍,命名规范注释规范代码风格

文件标记

所有PHP文件,代码标记均使用完整的PHP标签,不建议使用短标签。



文件格式

文件编码 为无 BOM 的 UTF-8。

?纯PHP类文件,文件最后 ?> 要省略。

TextMate

在 "文件编码" 中,选择 "UTF-8(推荐)"
在 "换行符" 中,选择 "LF(推荐)"

文件命名

程序的文件名和目录名都采用有意义的英文命名。

不使用拼音或无意义的字母。

只允许出现字母、数字、下划线、中划线字符。

多个词之间使用驼峰命名法。

//类统一采用
demoTest.class.php

//接口统一采用
demoTest.interface.php

//其他按照各自的方式
demoTest.{style}.php

//其他文件参照
demoTest.inc.php
demo.lib.php

文件目录结构命名

因使用的框架不同,可根据实际情况考虑目录结构。

全局变量命名
$_GLOBAL["_startTime_"]

or

$_GLOBAL["g_startTime_"]

两边都有“_”,中间使用驼峰命名。

普通变量命名
数据类型 命名规范
字符串 $strMyStr
数组 $arrMyArray
对象 $objMyObject
布尔值 $flagMyFlag

采用驼峰命名,建议在变量前加上变量的类型作为前缀。

变量应该以名词为准,尽量避免使用常用关键字或存在模糊意义的单词。

私有变量,建议加上前缀"_"。

函数命名

函数名即要有意义,也要尽量缩写,一看就知道干什么。

建议单用动词或动词加形容词的格式命名。

私有方法,建议在加上前缀"_"。

//例如
private function _showMsg()
{
   //方法体
}

不建议下面这样的函数名:

public function getAdvertisementByCategoryIdAndPositionIdAndScheduleId()
{
   //方法体
}

可修改为:

public function getAd($categoryid, $positionid, $scheduleid)
{
   //方法体
}
习惯与约定

为了减少变量的长度,在不影响可读性的前提下,习惯对变量进行缩写。

全称 缩写
image img
string str
database db
array arr
count cnt
message msg
password passwd 或 pwd
... ...

以上规范可用于,PHP代码、JavaScript代码、数据库表字段命名等。

文件注释
/**
 * 文件的简述
 *
 * PHP Version 6(PHP版本)
 *
 * @category  可以写部门(英文)
 * @package   可以写模块(英文)
 * @author    test 
 * @time      2017/02/02 11:48
 * @copyright 2017 公司名称
 * @license   公司网址 license
 * @link      test@qq.com(作者联系方式)
 */
类注释
/**
 * 类的简述
 *
 * @category 可以写部门(英文)
 * @package  可以写模块(英文)
 * @author   test 
 * @license  公司网址 license
 * @link     test@qq.com(作者联系方式)
 */
方法注释
/**
 * 方法的简述
 * @param array  $myArray  参数解释
 * @param string $myString 参数解释
 * @return array(返回数据类型)
 */
代码注释

注释写在被注释代码的前面,而不是后面,但对于单行语句,注释可写在语句末尾。

对于大段注释,使用 / / 进行注释。

注释不宜太多,大家能看的懂得行不必注释。

代码注释应该描述为什么,而不是做什么。

不要为了注释而注释。

标注的使用

IDE 支持一些特殊注释,可以列出整个项目中的特殊注释,方便后期维护和代码检查。

例如:

//@fixMe 表示需要修复项。

//@todo 表示需要完善的地方。

代码风格

尽量保证程序语句一行就是一句。

尽量不要使一行的代码过长,一般控制在80个字符之间。

如果一行代码太长,请使用类似 “.=” 的方式断行书写。

类、方法的做大括号需要独占一行。

其他控制语句等大括号和表达式同一行,并空格隔开。

class Demo
{
    public function index()
    {
        for ($i = 1, $i < 10, $i++) {

        }
    }

    public function test()
    {
        if ($expr1) {
            //if body

        } elseif ($expr2) {
            //elseif body

        } else {
            //else body

        }

        foreach ($data as $key => $value) {
            //foreach body
        }

        switch ($expr1) {
            case 0:
                echo "零";
                break;
            case 1:
                echo "一";
                break;
            default:
                echo "null";
                break;
        }

        //尽量同等意义的变量等号对其
        $strName     = $arrUserInfo["name"];
        $strAge      = $arrUserInfo["age"];
        $strBirthday = $arrUserInfo["birthday"];
        $strHobby    = $arrUserInfo["hobby"];
    }
}
调试代码

不要在你的提交的代码中包含调试代码,就算是注释掉了也不行。

像 var_dump() 、 print_r() 、 die() 和 exit() 这样的函数。

PHP错误

运行代码时不应该出现任何错误信息,并不是把警告和提示信息关掉来满足这一点。

例如,绝不要直接访问一个你没设置过的变量,你应该先使用 isset() 函数判断下。

最后

最后说的是,本规范不是强制,也不是标准。

“约定大于规范”,如果有的规范太死板,不适应您的团队,您可以不采用,按照您自己的规范即可。

推荐PHP开发IDE:PHPStorm

推荐阅读:

Mac PHPStorm 使用心得

PHP团队开发中遇到的那些坑,看我是如何解决的?

如果大家需要下载PDF,可以关注微信公众号。

回复 “php编码规范” 即可。

Thanks ~


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22359.html

相关文章

  • PHP 标准规范

    摘要:标准规范简介是的简写,由组织制定的规范,是开发的实践标准。具体标准有有了统一编码风格规范,更有利于查看和学习各个框架或类库,不不需要每次都适应新的编码风格。同时在开发团队内部使用统一的编码规范更有利于代码审查版本控制团队内部交流。 PHP 标准规范 PSR PSR 简介 PSR 是 PHP Standard Recommendations 的简写,由 PHP FIG 组织制定的 PHP...

    FuisonDesign 评论0 收藏0
  • PHP开发编码规范

    摘要:本规范只针对开发过程中编码的规范,对于开发项目中文件目录数据库等方面的规范,将不重点涉及。本规范包含了开发时程序编码中命名规范代码缩进规则控制结构函数调用函数定义注释包含代码标记文件头的注释块标记样例常量命名等方面的规则。 第一章 编码规范 为了更好的提高技术部的工作效率,保证开发的有效性和合理性,并可最大程度的提高程序代码的可读性和可重复利用性,指定此规范。开发团队根据自己的实际情...

    kycool 评论0 收藏0
  • 我的php编码规范

    摘要:为什么我们要培养自己的编码规范我们写代码的时候,一个好的编码规范,对我们来说能够起到很多意向不到的效果。至少会有一下的好处提高我们的编码效率。 为什么我们要培养自己的编码规范? 我们写代码的时候,一个好的编码规范,对我们来说能够起到很多意向不到的效果。至少会有一下的好处:1、提高我们的编码效率。整齐划一的代码方便我们进行复制粘贴嘛!2、提高代码的可读性。3、显示我们专业。别人看到了我们...

    RiverLi 评论0 收藏0
  • PSR-1 Basic Coding Standard(译)-- 基础编码规范

    摘要:注本文算是笔者对规范翻译学习笔记,之后会陆续翻译剩余的规范,可能翻译的有错误的地方,希望读者能够指正,非常感谢什么是是标准建议的简写,是由组织框架交互操作组织提出。的工作是寻找项目之间的共性,以及让开发者能更好协同工作的方式。 注:本文算是笔者对PSR规范翻译/学习笔记,之后会陆续翻译剩余的规范,可能翻译的有错误的地方,希望读者能够指正,非常感谢. 什么是PSR?       PSR是...

    darryrzhong 评论0 收藏0
  • PHP编码规范的十则建议

    摘要:被称为的编程语言。然而,和其他语言一样,需要遵循良好的代码规范。编码风格项目应当有统一的风格。安全开发者应该对常见的安全漏洞包括跨站脚本攻击跨站请求伪造代码注入漏洞和字符编码漏洞有所了解。 PHP被称为 quick and dirty 的编程语言。然而,PHP和其他语言一样,需要遵循良好的代码规范。以下是一些小建议。 showImg(http://segmentfault.com/i...

    lordharrd 评论0 收藏0

发表评论

0条评论

xuweijian

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<