完美解决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 相关文章推荐
php header示例代码(推荐)
Sep 08 PHP
php中怎么搜索相关联数组键值及获取之
Oct 17 PHP
php实现文件编码批量转换
Mar 10 PHP
destoon官方标签大全
Jun 20 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
Aug 06 PHP
Laravel框架学习笔记(二)项目实战之模型(Models)
Oct 15 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
Apr 08 PHP
php实现中文字符截取防乱码方法汇总
Apr 29 PHP
php实现处理输入转义字符的代码
Nov 08 PHP
PHP+JavaScript实现无刷新上传图片
Feb 21 PHP
老生常谈PHP中的数据结构:DS扩展
Jul 17 PHP
php微信公众号开发之翻页查询
Oct 20 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版自动生成文章摘要
2008/07/23 PHP
PHP 抓取网页图片并且另存为的实现代码
2010/03/24 PHP
PHP高自定义性安全验证码代码
2011/11/27 PHP
hadoop中一些常用的命令介绍
2013/06/19 PHP
php实现微信公众平台账号自定义菜单类
2014/12/02 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
PHP页面输出搜索后跳转下一页的处理方法
2016/09/30 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
2017/05/05 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
JS Range HTML文档/文字内容选中、库及应用介绍
2011/05/12 Javascript
javascript 进阶篇2 CSS XML学习
2012/03/14 Javascript
谈谈impress.js初步理解
2015/09/09 Javascript
基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )
2017/03/30 Javascript
微信小程序页面传值实例分析
2017/04/19 Javascript
vue-cli与webpack处理静态资源的方法及webpack打包的坑
2018/05/15 Javascript
详解微信小程序实现仿微信聊天界面(各种细节处理)
2019/02/17 Javascript
vue离开当前页面触发的函数代码
2020/09/01 Javascript
vue 解决在微信内置浏览器中调用支付宝支付的情况
2020/11/09 Javascript
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
python统计日志ip访问数的方法
2015/07/06 Python
python命名空间(namespace)简单介绍
2019/08/10 Python
Python实现的爬取豆瓣电影信息功能案例
2019/09/15 Python
通过字符串导入 Python 模块的方法详解
2019/10/27 Python
Numpy 多维数据数组的实现
2020/06/18 Python
用opencv给图片换背景色的示例代码
2020/07/08 Python
jupyter notebook 写代码自动补全的实现
2020/11/02 Python
美国礼品卡交易网站:Cardpool
2018/08/27 全球购物
面向对象概念面试题(.NET)
2016/11/04 面试题
护士长竞聘书
2014/03/31 职场文书
班主任工作经验交流材料
2014/05/13 职场文书
韩语专业职业生涯规划范文:成功之路就在我们脚下
2014/09/11 职场文书
简单的离婚协议书范本
2014/11/16 职场文书
2014年信贷员工作总结
2014/11/18 职场文书
原生Javascript+HTML5一步步实现拖拽排序
2021/06/12 Javascript
SpringCloud Function SpEL注入漏洞分析及环境搭建
2022/04/08 Java/Android