设为首页 收藏本站
查看: 326|回复: 0

[经验分享] PHP之文档注释规范PHPDoc

[复制链接]

尚未签到

发表于 2017-4-1 11:07:00 | 显示全部楼层 |阅读模式
良好的文档注释不但能使代码易于维护,而且可以通过phpDocumentor等文档生成工具生成项目手册,以便于查阅。此外PHP的弱类型特征更应该引起我们对文档注释的重视!
本文简单的介绍下PHPDoc文档注释,以及常用的一些标签。
1. 文档注释并不只是用来注释整个文件的,在元素前面声明之后,它可以和该特定的程序元素相关联,例如类、函数、常量、变量、方法等等,以/**开头、*/结束,注意注释与相关联的程序元素间不能有空行;
2. 常用的标签
@author  Author Name [<author@email.com>]      代码编写人(负责人)
@version xx.xx                                 当前版本号
@param   datatype $v_name[,...] description    函数相关联的参数,含有,...表示可传入不定数量的其他参数
@return  datatype description                  函数或方法的返回值类型
@global  datatype description                  全局变量的说明(仅对phpDocumentor解析器起作用)
@var     datatype                              在类中说明类变量(属性)的类型
@example [path|url] description                举一个例子,以阐释使用方法
@todo    description                           待完成的工作信息或待解决的问题信息
更多的标签请参考 http://en.wikipedia.org/wiki/Phpdoc
这里举一个Zend Framework里的一段代码为例:

<?php  
/**
* Zend Framework
*
* LICENSE
*
* This source file is ...
*
* @category   Zend
* @package    Zend_Db
* @subpackage Adapter
* @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
* @license    http://framework.zend.com/license/new-bsd     New BSD License
* @version    $Id: Abstract.php 19115 2009-11-20 17:41:25Z matthew $
*/  

/**
* @see Zend_Db
*/  
require_once 'Zend/Db.php';  
/**
* Class for connecting to SQL databases and performing common operations.
*
* @category   Zend
* @package    Zend_Db
* @subpackage Adapter
* @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
* @license    http://framework.zend.com/license/new-bsd     New BSD License
*/  
abstract class Zend_Db_Adapter_Abstract  
{  
/**
* User-provided configuration
*
* @var array
*/  
protected $_config = array();  
/**
* Constructor.
*
* $config is an array of key/value pairs or an instance of Zend_Config
* containing configuration options.  These options are common to most adapters:
*
* dbname         => (string) The name of the database to user
* username       => (string) Connect to the database as this username.
* password       => (string) Password associated with the username.
* host           => (string) What host to connect to, defaults to localhost
*
* Some options are used on a case-by-case basis by adapters:
*
* port           => (string) The port of the database
* persistent     => (boolean) Whether to use a persistent connection or not, defaults to false
* protocol       => (string) The network protocol, defaults to TCPIP
* caseFolding    => (int) style of case-alteration used for identifiers
*
* @param  array|Zend_Config $config An array or instance of Zend_Config having configuration data
* @throws Zend_Db_Adapter_Exception
*/  
public function __construct($config)  
{  
/*
* Verify that adapter parameters are in an array.
*/  
if (!is_array($config)) {  
/*
* Convert Zend_Config argument to a plain array.
*/  
if ($config instanceof Zend_Config) {  
$config = $config->toArray();  
} else {  
/**
* @see Zend_Db_Adapter_Exception
*/  
require_once 'Zend/Db/Adapter/Exception.php';  
throw new Zend_Db_Adapter_Exception('Adapter parameters must be in an array or a Zend_Config object');  
}  
}  
//后面略...

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-358603-1-1.html 上篇帖子: PHP实现异步调用方法研究(转) 下篇帖子: php简单数字分页显示代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表