Board logo

标题: PEAR:使用PHPDoc轻松建立你的PEAR文档(2)基本指南 [打印本页]

作者: look_w    时间: 2018-7-10 22:05     标题: PEAR:使用PHPDoc轻松建立你的PEAR文档(2)基本指南

3.4 文档书写指南在你描述你的代码的用途或者是功能的时候,最好能够遵循大多数人的习惯,通俗地讲就是"你告诉我的信息正是我想要知道的"。为此,这里将介绍一些书写文档注释的技巧和规范,希望能够对你有所帮助:        
你从上面这段注释中能够知道什么?因此,这段注释实际上是废话,因为你从函数名称上是可以看出的,下面是改进后的:         
1
2
3
4
5
6
7
/**
     * 打开系统用户表并设置为当前用户记录集,此记录集将用于随后相关用户数据更新操作的缺省记录集。
如果失败则抛出一个数据库错误。
     *
     * @param text  要打开的系统用户表的表名。
     */
    function set_user_record($table) {




PHPDoc关键字及文档标志4.1 关键字class 、function 、var 、include (include_once, require, require_once) 、define
在以上这些关键字前面所做的注释,都被认为是文档性注释。
4.2 文档标记说明:使用范围是指该标记可以用来修饰的关键字,或其他文档标记        
@abstract 使用范围:class, function, var
说明当前类是一个抽象类。      
注释:从PHP语言角度来说,它并不象JAVA,C++那样,支持抽象类这个概念。也没有相应的关键字来修饰某个类是抽象类。由于PHPDOC实际上大部分是借鉴了JAVADOC的做法,因此很多文档标记也是直接从JAVADOC中沿袭过来,如abstract,access,final等等。虽然这些特性没有从语言级别得到支持,不过从使用者角度来遵循这些特性,仍是值得推荐的。
举例:        
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
* 这是一个绘五星图案的抽象类.
* @abstract
*/
class paint_start {
  /**
  * 绘制数量
  * @abstract
  */
  var $number;
  /**
  * 绘制五星图案
  * @abstract
  */
  function paint() {
    ;
  }
}




@access (public|private) 使用范围:class, function, var, define, module      
指明这个变量、类、函数/方法的存取权限。如果你的函数是内部使用,你应该指明它为private,这样的好处是,即使PHP不能阻止其他的人使用你的私有数据,但是至少你向你的用户传达这样的信息,这是一个私有的函数,因此不保证在将来的版本中仍存在;对于使用者而言,表示为@private的数据和方法,你不应该直接使用,即使你可以这样做。
举例:         
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
* 这是一个绘五星图案的抽象类.
* @abstract
* @access    public
*/
class paint_start {
   
  /**
  * 绘制数量
  * @abstract
  * @access    private
  */
  var $number;
     
  /**
  * 绘制五星图案
  * @abstract
  * @access    public
  */
  function paint() {
    ;
  }
     
}




@author Name [<email>] [, ...] 使用范围:class, function, var, define, module, use      
指明作者信息,依次是作者姓名,email地址,其他的通讯信息。如果有多个作者,按照其先后次序,使用多个@author依次列出:        
@brother (function()|$variable) 使用范围:class, function, var, define, module, use        
@sister (function()|$variable) 使用范围:class, function, var, define, module, use




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0