完美解决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的array_diff()函数在处理大数组时的效率问题
Nov 27 PHP
Uncaught exception com_exception with message Failed to create COM object
Jan 11 PHP
分享一下贝贝成长进度的php代码
Sep 14 PHP
php过滤XSS攻击的函数
Nov 12 PHP
PHP内核探索之解释器的执行过程
Dec 22 PHP
Zend Framework教程之Zend_Registry对象用法分析
Mar 22 PHP
PHP实现支持加盐的图片加密解密
Sep 09 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
May 05 PHP
PHP下 Mongodb 连接远程数据库的实例代码
Aug 30 PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 PHP
PHP压缩图片功能的介绍
Mar 21 PHP
php判断IP地址是否在多个IP段内
Aug 18 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/10/02 PHP
php cc攻击代码与防范方法
2012/10/18 PHP
Symfony数据校验方法实例分析
2015/01/26 PHP
搭建基于Docker的PHP开发环境的详细教程
2015/07/01 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
2016/11/14 PHP
老生常谈PHP位运算的用途
2017/03/12 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
Nigma vs Liquid BO3 第一场2.13
2021/03/10 DOTA
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
2011/01/01 Javascript
你需要知道的10个最佳javascript开发实践小结
2012/04/15 Javascript
jquery iframe操作详细解析
2013/11/20 Javascript
jquery datepicker参数介绍和示例
2014/04/15 Javascript
全面解析JavaScript中apply和call以及bind(推荐)
2016/06/15 Javascript
nodejs入门教程一:概念与用法简介
2017/04/24 NodeJs
[03:03]DOTA2校园争霸赛 济南城市决赛欢乐发奖活动
2013/10/21 DOTA
在Python中操作列表之list.extend()方法的使用
2015/05/20 Python
Python sqlite3事务处理方法实例分析
2017/06/19 Python
python 平衡二叉树实现代码示例
2018/07/07 Python
详解Python下Flask-ApScheduler快速指南
2018/11/04 Python
python元组的概念知识点
2019/11/19 Python
解决Pytorch 加载训练好的模型 遇到的error问题
2020/01/10 Python
Django中和时区相关的安全问题详解
2020/10/12 Python
python regex库实例用法总结
2021/01/03 Python
Flask中jinja2的继承实现方法及实例
2021/03/03 Python
幼儿园小班教学反思
2014/02/02 职场文书
收银员的岗位职责范本
2014/02/04 职场文书
空气环保标语
2014/06/12 职场文书
党支部先进事迹材料
2014/12/24 职场文书
学生上课迟到检讨书
2015/01/01 职场文书
2015年社区卫生工作总结
2015/04/21 职场文书
加强党性修养心得体会
2016/01/21 职场文书
公司要求试用期员工提交“述职报告”,该怎么写?
2019/07/17 职场文书
vue实现同时设置多个倒计时
2021/05/20 Vue.js
详解Oracle块修改跟踪功能
2021/11/07 Oracle
一文解答什么是MySQL的回表
2022/08/05 MySQL