如何优雅地写好易读的、标准的Php注释

Posted ·769 Views·1143 Words

某不知名老鸟曾经说过,写代码时,代码注释是非常必要的,只是几段灰色字符串却能瞬间提升代码可读性、可重构性。我个人也认为学习 Php 的初期便需要习惯和熟练使用代码注释,才不至于多年之后久别重温自己的杰作却感叹“我™都谢了写啥 bug?!”,那么下面便是一些常用的 php 注释规范,也当是给自己做个备份:)

 

@access

使用范围:class,function,var,define,module

该标记用于指明关键字的存取权限:private、public或proteced

 

@author

指明作者

 

@copyright

使用范围:class,function,var,define,module,use

指明版权信息

 

@deprecated

使用范围:class,function,var,define,module,constent,global,include

指明不用或者废弃的关键字

 

@example

该标记用于解析一段文件内容,并将他们高亮显示。Phpdoc会试图从该标记给的文件路径中读取文件内容

 

@const

使用范围:define

用来指明php中define的常量

 

@final

使用范围:class,function,var

指明关键字是一个最终的类、方法、属性,禁止派生、修改。

 

@filesource

和example类似,只不过该标记将直接读取当前解析的php文件的内容并显示。

 

@global

指明在此函数中引用的全局变量

 

@ingore

用于在文档中忽略指定的关键字

 

@license

相当于html标签中的<a>,首先是URL,接着是要显示的内容

例如<a href=”http://www.baidu.com”>百度</a>

可以写作 @license http://www.baidu.com 百度

 

@link

类似于license

但还可以通过link指到文档中的任何一个关键字

 

@name

为关键字指定一个别名。

 

@package

使用范围:页面级别的-> define,function,include

类级别的->class,var,methods

用于逻辑上将一个或几个关键字分到一组。

 

@abstrcut

说明当前类是一个抽象类

 

@param

指明一个函数的参数

 

@return

指明一个方法或函数的返回指

 

@static

指明关建字是静态的。

 

@var

指明变量类型

 

@version

指明版本信息

 

@todo

指明应该改进或没有实现的地方

 

@throws

指明此函数可能抛出的错误异常,极其发生的情况

上面提到过,普通的文档标记标记必须在每行的开头以@标记,除此之外,还有一种标记叫做inline tag,用{@}表示,具体包括以下几种:

  {@link}

用法同@link

  {@source}

显示一段函数或方法的内容

Comments

Leave a comment to join the discussion