完美解决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
Dec 13 PHP
php实现事件监听与触发的方法
Nov 21 PHP
DEDECMS首页调用图片集里的多张图片
Jun 05 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
May 23 PHP
PHP memcache在微信公众平台的应用方法示例
Sep 13 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
May 21 PHP
PHP中“=>
Mar 01 PHP
laravel-admin 在列表页添加自定义按钮的例子
Sep 30 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 04 PHP
Laravel框架数据库迁移操作实例详解
Apr 06 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实现WEB动态网页静态
2006/10/09 PHP
php flush类输出缓冲剖析
2008/10/19 PHP
php利用scws实现mysql全文搜索功能的方法
2014/12/25 PHP
PHP小偷程序的设计与实现方法详解
2016/10/15 PHP
PHP中SQL查询语句的id=%d解释(推荐)
2016/12/10 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
php使用json-schema模块实现json校验示例
2019/09/28 PHP
jQuery实现的Email中的收件人效果(按del键删除)
2011/03/20 Javascript
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
2012/10/11 Javascript
javascript实例--教你实现扑克牌洗牌功能
2014/05/15 Javascript
node中使用es5/6以及支持性与性能对比
2017/08/11 Javascript
详解RequireJs官方使用教程
2017/10/31 Javascript
使用 vue-i18n 切换中英文效果
2018/05/23 Javascript
解决vuejs项目里css引用背景图片不能显示的问题
2018/09/13 Javascript
python进阶教程之文本文件的读取和写入
2014/08/29 Python
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
Django实现组合搜索的方法示例
2018/01/23 Python
python pandas写入excel文件的方法示例
2019/06/25 Python
django-crontab 定时执行任务方法的实现
2019/09/06 Python
深入理解Tensorflow中的masking和padding
2020/02/24 Python
python数据类型可变不可变知识点总结
2020/03/06 Python
Canvas环形饼图与手势控制的实现代码
2019/11/08 HTML / CSS
美国排名第一的在线葡萄酒商店:Wine.com
2016/09/07 全球购物
在C中是否有模拟继承等面向对象程序设计特性的好方法
2012/05/22 面试题
地震捐款倡议书
2014/08/29 职场文书
小学生教师节演讲稿
2014/09/03 职场文书
知识就是力量演讲稿
2014/09/13 职场文书
民主评议党员自我评价材料
2014/09/18 职场文书
党员专题组织生活会发言材料
2014/10/17 职场文书
钢铁是怎样炼成的读书笔记
2015/06/29 职场文书
利用html+css实现菜单栏缓慢下拉效果的示例代码
2021/03/30 HTML / CSS
SQL实现LeetCode(177.第N高薪水)
2021/08/04 MySQL
Python内置数据结构列表与元组示例详解
2021/08/04 Python
详解JSON.parse和JSON.stringify用法
2022/02/18 Javascript
java获取一个文本文件的编码(格式)信息
2022/09/23 Java/Android