完美解决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 相关文章推荐
实用函数3
Nov 08 PHP
php5数字型字符串加解密代码
Apr 24 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
Jun 29 PHP
分享8个最佳的代码片段在线测试网站
Jun 29 PHP
2014年10个最佳的PHP图像操作库
Jul 14 PHP
Thinkphp中数据按分类嵌套循环实现方法
Oct 30 PHP
PHP自动生成表单代码分享
Jun 19 PHP
PHP多文件上传实例
Jul 09 PHP
汇总PHPmailer群发Gmail的常见问题
Feb 24 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
Mar 31 PHP
PHP echo()函数讲解
Feb 15 PHP
php中对象引用和复制实例分析
Aug 14 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脚本数据库功能详解(中)
2006/10/09 PHP
第七节--类的静态成员
2006/11/16 PHP
PHP 日志缩略名的创建函数代码
2010/05/26 PHP
php使用Jpgraph绘制3D饼状图的方法
2015/06/10 PHP
记录一次排查PHP脚本执行卡住的问题
2016/12/27 PHP
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
2013/03/27 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
2016/04/01 Javascript
底部悬浮通栏可以关闭广告位的实现方法
2016/06/01 Javascript
js定义类的几种方法(推荐)
2016/06/08 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
JS实现禁止高频率连续点击的方法【基于ES6语法】
2017/04/25 Javascript
vue实现tab切换外加样式切换方法
2018/03/16 Javascript
vue源码学习之Object.defineProperty 对数组监听
2018/05/30 Javascript
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
node.js读取Excel数据(下载图片)的方法示例
2018/08/02 Javascript
vue router 跳转后回到顶部的实例
2018/08/31 Javascript
Javascript中绑定click事件的四种方式介绍
2018/10/26 Javascript
javascript实现日历效果
2019/06/17 Javascript
node 解析图片二维码的内容代码实例
2019/09/11 Javascript
python中的多线程实例教程
2014/08/27 Python
仅用500行Python代码实现一个英文解析器的教程
2015/04/02 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
2018/06/13 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
python操作小程序云数据库实现简单的增删改查功能
2019/06/06 Python
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
2020/03/09 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
2020/09/25 Python
python从Oracle读取数据生成图表
2020/10/14 Python
python中常用的数据结构介绍
2021/01/12 Python
介绍一下grep命令的使用
2012/06/28 面试题
2014年财务人员工作总结
2014/11/11 职场文书
2014会计年终工作总结
2014/12/20 职场文书
简爱电影观后感
2015/06/10 职场文书
Nginx优化服务之网页压缩的实现方法
2021/03/31 Servers
详解TS数字分隔符和更严格的类属性检查
2021/05/06 Javascript
Java移除无效括号的方法实现
2021/08/07 Java/Android
使用redis实现延迟通知功能(Redis过期键通知)
2021/09/04 Redis