今天在编写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类申明,必须用文档块注释隔开(也就是说页面级文档块注释之后不能紧接着代码片段)
比如情况:
案例一:
[code]
/**
* 这个是一个页面级文档块注释
*@package haha
*
*/
class test {
}
[/code]
以上的情况就会出现上述2的错误信息
解决该案例的方案是给class重新声明一个文档块注释
[code]
/**
* 这个是一个页面级文档块注释
*@package haha
*
*/
/**
* 我是test类
*/
class test {
}
[/code]
***********************************************
案例二:
[code]
/**
* 这个是一个页面级文档块注释
*/
/**
* 这个是一个页面级文档块注释
*@package haha
*
*/
class test {
}
[/code]
会出现如上问题中的1/2的情况。
解决方案也是如案例一的解决方案一样
***********************************************
案例三:
[code]
/**
* 这个是一个页面级文档块注释
*@package haha
*
*/
define('yyyy', 'hahha');
[/code]
就会出现如上所说的情况3Error。
解决方案也是如出一则:
[code]
/**
* 这个是一个页面级文档块注释
*@package haha
*/
/**
* 我是常量
*/
define('yyyy', 'hahha');
[/code]
如果所写的文档块正确,就不会出现@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的错误。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
从标题中,我们可以看到这个模板的主要功能是将Apifox中的接口文档导出到Word版中。这个标题也可以作为一个大纲,指导我们了解整个文档的结构和内容。 描述: Apifox导出Word版接口文档-模板 描述部分提供了基本的...
Swagger 是一个广泛使用的 API 设计和文档工具,它允许开发者以结构化的方式定义 RESTful API,使得服务接口清晰易懂,同时提供了一种交互式的 API 文档系统,方便开发者测试和理解 API 功能。Swagger 文档离线导出...
由于doc插件编译的问题,所有质量准备了已经修改好的的ykit.config.js配置,只需要放到yapi部署项目的vendors目录下即可,可以对源的配置文件进行备份,亦可以通过我的博客自己配置...也可以去GitHub上查看大声的解决...
在本案例中,我们将探讨如何使用Spire库在WinForm应用中实现Word文档的导出功能。Spire是一个功能强大的组件集,它为开发人员提供了在C#中处理Microsoft Office文档的能力,无需依赖Office安装。 首先,为了能够...
- 在“Generate Reports”对话框中进行相关配置(如报告样式、布局等),并在“Filename”栏设置导出文件的保存位置及文件名。 - 最后点击“OK”按钮开始导出操作。 **3. 查看报告** - 成功导出后,系统会询问...
ASP.NET导出word文档的后台代码
Confluence 批量导出doc的shell脚本,方便快捷,不用再自己去粘贴复制文档!
spire.doc API文档 spire.doc API文档spire.doc API文档
filename=exam.doc"`,以便于浏览器将导出的文件保存为名为 "exam.doc" 的 Word 文档。 将数据写入 Response 在设置好 HttpResponse 对象和文件名和类型之后,我们可以将数据写入 Response 对象中。在代码中,我们...
### Java导出文档知识点 #### 一、导出Excel文档概述 在Java中,导出Excel文档是一项常见的需求,尤其在处理大量数据时。本文档将详细介绍如何利用Apache POI库来实现这一功能。Apache POI是Apache软件基金会的...
FreeMarker导出表格到doc文档
在C#编程环境中,利用Aspose.Words库可以方便地实现根据预设模板导出Word文档的功能。Aspose.Words是一款强大的文档处理组件,它允许开发者在不依赖Microsoft Office的情况下,进行Word文档的创建、编辑、格式化以及...
在提供的帮助文档`Spire.Pdf.chm`和`Spire.Doc.chm`中,开发者可以找到详细的API参考、示例代码和教程,以帮助他们更好地理解和使用这两个库。这些文档通常会涵盖每个类、方法、属性和事件的详细说明,包括它们的...
RenderDoc是一款强大的图形调试工具,尤其在游戏开发和图形编程领域中被广泛应用。它提供了详细的帧捕获和分析功能,帮助开发者深入理解渲染管线的工作原理,查找并修复图像错误。然而,原生的RenderDoc在导出纹理时...
本示例着重讲解如何利用JavaScript技术将TinyMCE编辑器中的内容导出为Word文档,以便用户可以离线查看或进一步处理。 在TinyMCE编辑器中,内容是通过HTML代码存储的。因此,导出为Word文档的核心思路是将HTML转换为...
Spire.Doc API 是一个强大的C#库,专为处理Microsoft Word文档设计,提供了全面的类、接口和属性集合,使得在.NET环境中创建、编辑、转换和操作Word文档变得轻而易举。这个API帮助文档详细地介绍了每个类的功能、...
通过阅读和实践这份文档,开发者可以熟练掌握如何利用`itext`在Java环境中生成PDF,从而实现文档导出的需求。 总的来说,`itext` 是一个强大的PDF处理库,虽然不直接支持Word导出,但结合其他工具,可以实现从PDF到...
通过以上的步骤和技巧,你可以使用`iReport`有效地创建和导出PDF及Word文档,满足不同场景的需求。尽管过程中可能遇到一些挑战,但只要掌握了基本操作和解决方法,就能够高效地完成任务。在实际工作中,不断实践和...
在C# ASP.NET环境中,将Web网页导出到Word文档是一项常见的需求,这通常涉及到HTML到DOC或DOCX格式的转换。以下是一些关键的知识点和步骤,详细解释了如何实现这一功能: 首先,理解基本原理:Web网页通常是HTML...