今天在编写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的错误就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
PhpDocumentor PHPDoc 是一个能从PHP代码生成 javaDoc 样式的 API 文档和用户指南。
本文向大家介绍浅谈Android Studio导出javadoc文档操作及问题的解决,包括了浅谈Android Studio导出javadoc文档操作及问题的解决的使用技巧和注意事项,需要的朋友参考一下 1、在Android studio中进行打开一个项目的文件之后,然后进行点击Android stuio中菜单中的“tools”的选项。在弹出了下拉菜单中,进行选中下拉菜单中的“Generate J
本文向大家介绍完美解决axios跨域请求出错的问题,包括了完美解决axios跨域请求出错的问题的使用技巧和注意事项,需要的朋友参考一下 错误信息: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the req
本文向大家介绍完美解决java.lang.OutOfMemoryError处理错误的问题,包括了完美解决java.lang.OutOfMemoryError处理错误的问题的使用技巧和注意事项,需要的朋友参考一下 原因: 常见的有以下几种: 1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据; 2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收; 3.代码中存在死循环或循环产生过
本文向大家介绍System.Data.OleDb.OleDbException: 未指定的错误的完美解决方法,包括了System.Data.OleDb.OleDbException: 未指定的错误的完美解决方法的使用技巧和注意事项,需要的朋友参考一下 异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误 这个错误是access数据库特有的错误,当acce
本文向大家介绍完美解决mac环境使用sed修改文件出错的问题,包括了完美解决mac环境使用sed修改文件出错的问题的使用技巧和注意事项,需要的朋友参考一下 sed是linux命令,用于处理文件内容(修改,替换等),mac中都可以使用,但发现相同的替换命令在linux可以正常执行,在mac则执行失败。 出错原因 用shell写了个更新Config/Config.php版本的脚本,代码如下: man