完美解决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核心代码分析require和include的区别
Jan 02 PHP
php中file_get_content 和curl以及fopen 效率分析
Sep 19 PHP
php实现把url转换迅雷thunder资源下载地址的方法
Nov 07 PHP
php中adodbzip类实例
Dec 08 PHP
浅析PHP文件下载原理
Dec 25 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
Jan 07 PHP
php实现Mysql简易操作类
Oct 11 PHP
10个php函数实用却不常见
Oct 13 PHP
PHP编程开发怎么提高编程效率 提高PHP编程技术
Nov 09 PHP
PHP5.4起内置web服务器使用方法
Aug 09 PHP
PHP面向对象之事务脚本模式(详解)
Jun 07 PHP
使用laravel指定日志文件记录任意日志
Oct 17 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
星际原理概述
2020/03/04 星际争霸
第十五节--Zend引擎的发展
2006/11/16 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
2016/06/28 PHP
php 中phar包的使用教程详解
2018/10/26 PHP
PHP $O00OO0=urldecode & eval 解密,记一次商业源码的去后门
2020/09/13 PHP
CSS中一些@规则的用法小结
2021/03/09 HTML / CSS
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
Jquery AJAX 用于计算点击率(统计)
2010/06/30 Javascript
SWFObject 2.1以上版本语法介绍
2010/07/10 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
简单几行JS Code实现IE邮件转发新浪微博
2013/07/03 Javascript
jquery实现简单的全选和反选功能
2016/01/02 Javascript
bootstrap table表格使用方法详解
2017/04/26 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
js实现轮播图效果 纯js实现图片自动切换
2020/08/09 Javascript
JavaScript实现通讯录功能
2020/12/27 Javascript
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
新手该如何学python怎么学好python?
2008/10/07 Python
python中的多重继承实例讲解
2014/09/28 Python
Python map和reduce函数用法示例
2015/02/26 Python
python创建一个最简单http webserver服务器的方法
2015/05/08 Python
python的keyword模块用法实例分析
2015/06/30 Python
Python中将变量按行写入txt文本中的方法
2018/04/03 Python
Python编程深度学习绘图库之matplotlib
2018/12/28 Python
手写一个python迭代器过程详解
2019/08/27 Python
适合Python初学者的一些编程技巧
2020/02/12 Python
关于Python字符串显示u...的解决方式
2020/03/06 Python
详解Python3 定义一个跨越多行的字符串的多种方法
2020/09/06 Python
Melissa鞋英国官方网站:Nonnon
2019/05/01 全球购物
捷克家具销售网站:SCONTO Nábytek
2020/01/02 全球购物
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
涉外文秘个人求职的自我评价
2013/10/07 职场文书
防火标语大全
2014/10/06 职场文书
小学教育见习报告
2014/10/31 职场文书
物业工程部主管岗位职责
2015/04/16 职场文书
浅谈resultMap的用法及关联结果集映射
2021/06/30 Java/Android