完美解决phpdoc导出文档中@package的warning及Error的错误


Posted in PHP onMay 17, 2016

今天在编写PHPDoc的导出文档的时候发现一个很郁闷的错误,虽然这个warning不是什么重要错误,但是看着总是很不爽的。于是就去网上找了很多相关的资料,可是郁闷的是不知道是我用的PHPDoc版本太新(1.4的版本),还是说很多人都没遇到这个问题,反正就是没有相关的这个资料找到,只是找到了一些从PHPDocumentor官方网倒出来的关于@package的使用注意事项,然后就只能一条一条检查,看了一个版本又一个版本,总算是被我解决了。

而且发现该方案可以解决@package之类相关的错误提示:

出现的问题:

1、no @package tag was used in a DocBlock for XXXXXXXXXXX

2、XXXXXX has no page-level DocBlock, use @package in the first DocBlock to create one

3、ERROR: XXXX can not have @package tag。。。。(具体的提示我忘记了,大题的意思是这里的文档不能使用@package标签)

出现上诉问题的主要原因是:页面级的文档块注释解析错误

页面级文档注释:

必须是文件中的第一个文档块注释,并且有@package标签

该文档快注释之后如果是紧接着一段PHP代码或是class类申明,必须用文档块注释隔开(也就是说页面级文档块注释之后不能紧接着代码片段)

比如情况:

案例一:  
 
/** 
 * 这个是一个页面级文档块注释 
 *@package haha 
 * 
 */ 
class test { 
 
} 
 
以上的情况就会出现上述2的错误信息 
解决该案例的方案是给class重新声明一个文档块注释 
 
/** 
 * 这个是一个页面级文档块注释 
 *@package haha 
 * 
 */ 
/** 
 * 我是test类 
 */ 
class test { 
 
} 
 
*********************************************** 
 
案例二: 
 
/** 
 * 这个是一个页面级文档块注释 
 */ 
 
/** 
 * 这个是一个页面级文档块注释 
 *@package haha 
 * 
 */ 
class test { 
 
} 
 
会出现如上问题中的1/2的情况。 
解决方案也是如案例一的解决方案一样 
 
*********************************************** 
案例三:  
 
/** 
 * 这个是一个页面级文档块注释 
 *@package haha 
 * 
 */ 
define('yyyy', 'hahha'); 
 
就会出现如上所说的情况3Error。 
解决方案也是如出一则: 
 
/** 
 * 这个是一个页面级文档块注释 
 *@package haha 
 */ 
/** 
 * 我是常量 
 */ 
define('yyyy', 'hahha');

如果所写的文档块正确,就不会出现@package相关的错误了。

注:

1、在注释中需要注意,任何不是/**   */类型的注释都不会被PHPDoc所解析。而且/**  */中的多行注释前面不是以*开头的注释行也不会被解析。

2、如果声明了标签却没有给出相关的标签必选项就会发出一个Error信息,比如@var 后面没有变量,@return后面没有返回类型,都将会出现Error错误。解决方式就是补充完整,或是如果没有的话就移除。

另外,提供一个命令行方式下的命令文件执行,自动执行Doc文档生成:

@Rem: 命令行格式自动导出PHPDoc文档 
@Rem: author: 肖肖 x_824@sina.com 
@echo off 
@echo ******************************************************************************* 
@echo 自动导出文档使用说明: 
@echo 需要安装命令行的PHPDOCumentor,安装方式是用pear安装pear install PhpDocumentor即可 
@echo 1、option:设置导出文档的格式,命令行格式支持四种格式:默认为第一种格式 
@echo ###1】、HTML:frames:default 
@echo ###2】、HTML:Smarty:default 
@echo ###3】、CHM:default:default 
@echo ###4】、PDF:default:default 
@echo 2、dir:需要执行导出文档的目录、 
@echo 3、outputDir: 导出的文档存放目录 
@echo 4、title:导出的文档的标题 
@echo ******************************************************************************* 
 
@set option=HTML:frames:default 
@set dir=D:\PHPAPP\test 
@set outputDir=D:\PHPAPP\doc 
@set title=PHPWindDoc 
 
@phpdoc -d %dir% -o %option% -ti %title% -t %outputDir% 
@echo 欢迎使用!导出成功 
@pause

注:该命令需要安装命令行下的PHPDocumentor包,安装方式用pear安装。

谨此!

以上这篇完美解决phpdoc导出文档中@package的warning及Error的错误就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
如何过滤高亮显示非法字符
Oct 09 PHP
用PHP连接Oracle for NT 远程数据库
Oct 09 PHP
用PHP中的 == 运算符进行字符串比较
Nov 26 PHP
PHP+MYSQL会员系统的登陆即权限判断实现代码
Sep 23 PHP
php的array_multisort()使用方法介绍
May 16 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
Oct 24 PHP
浅析PHP原理之变量分离/引用(Variables Separation)
Aug 09 PHP
Codeigniter中集成smarty和adodb的方法
Mar 04 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
Sep 29 PHP
php利用云片网实现短信验证码功能的示例代码
Nov 18 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
Oct 30 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
Mar 24 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
May 17 #PHP
简单理解PHP的面向对象编程方式
May 17 #PHP
WordPress中的shortcode短代码功能使用详解
May 17 #PHP
CodeIgniter生成静态页的方法
May 17 #PHP
CodeIgniter连贯操作的底层原理分析
May 17 #PHP
CI框架常用方法小结
May 17 #PHP
CodeIgniter记录错误日志的方法全面总结
May 17 #PHP
You might like
将PHP作为Shell脚本语言使用
2006/10/09 PHP
PHP新手上路(十三)
2006/10/09 PHP
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
2007/01/29 PHP
PHP编程中的__clone()方法使用详解
2015/11/27 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
2019/10/15 PHP
js 第二代身份证号码的验证机制代码
2011/05/12 Javascript
jquery使用淘宝接口跨域查询手机号码归属地实例
2013/11/28 Javascript
Javascript中的异步编程规范Promises/A详细介绍
2014/06/06 Javascript
jquery实现通用版鼠标经过淡入淡出效果
2014/06/15 Javascript
jquery任意位置浮动固定层插件用法实例
2015/05/29 Javascript
jQuery中attr()与prop()函数用法实例详解(附用法区别)
2015/12/29 Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
2016/11/07 Javascript
基于Two.js实现星球环绕动画效果的示例
2017/11/06 Javascript
vue中使用vue-router切换页面时滚动条自动滚动到顶部的方法
2017/11/28 Javascript
jquery+css3实现熊猫tv导航代码分享
2018/02/12 jQuery
Vue弹出菜单功能的实现代码
2018/09/12 Javascript
详解关于Vue2.0路由开启keep-alive时需要注意的地方
2018/09/18 Javascript
VUE.CLI4.0配置多页面入口的实现
2019/11/25 Javascript
[39:52]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第一场
2018/04/04 DOTA
Python使用urllib2模块抓取HTML页面资源的实例分享
2016/05/03 Python
python url 参数修改方法
2018/12/26 Python
Python 200行代码实现一个滑动验证码过程详解
2019/07/11 Python
python编写计算器功能
2019/10/25 Python
解决pytorch DataLoader num_workers出现的问题
2020/01/14 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
2020/11/01 Python
日本即尚网:JSHOPPERS.com(支持中文)
2019/12/03 全球购物
保安拾金不昧表扬信
2014/01/15 职场文书
战友聚会邀请函
2014/01/18 职场文书
大学生社会实践评语
2014/04/25 职场文书
师德演讲稿范文
2014/05/06 职场文书
党的群众路线教育实践活动个人对照检查材料范文
2014/09/25 职场文书
老干部工作汇报材料
2014/10/28 职场文书
金融专业银行实习证明模板
2014/11/28 职场文书
武侯祠导游词
2015/02/04 职场文书
2015年爱国卫生工作总结
2015/04/22 职场文书
预备党员介绍人意见
2015/06/01 职场文书