网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 完美解决phpdoc导出文档中@package的warning及Error的错误
内容
    今天在编写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类申明,必须用文档块注释隔开(也就是说页面级文档块注释之后不能紧接着代码片段)
    比如情况:
    <span><strong>案例一: </strong></span> 
    <div><span><a data="28036" id="copybut28036" onclick="doCopy('code28036')"><u>复制代码</u></a></span> 代码如下:</div><div id="code28036"> 
    /** 
     * 这个是一个页面级文档块注释 
     *@package haha 
     * 
     */ 
    class test { 
    } 
    </div> 
    以上的情况就会出现上述2的错误信息 
    解决该案例的方案是给class重新声明一个文档块注释 
    <div><span><a data="19750" id="copybut19750" onclick="doCopy('code19750')"><u>复制代码</u></a></span> 代码如下:</div><div id="code19750"> 
    /** 
     * 这个是一个页面级文档块注释 
     *@package haha 
     * 
     */ 
    /** 
     * 我是test类 
     */ 
    class test { 
    } 
    </div> 
    *********************************************** 
    <span><strong>案例二:</strong></span> 
    <div><span><a data="97723" id="copybut97723" onclick="doCopy('code97723')"><u>复制代码</u></a></span> 代码如下:</div><div id="code97723"> 
    /** 
     * 这个是一个页面级文档块注释 
     */ 
    /** 
     * 这个是一个页面级文档块注释 
     *@package haha 
     * 
     */ 
    class test { 
    } 
    </div> 
    会出现如上问题中的1/2的情况。 
    解决方案也是如案例一的解决方案一样 
    *********************************************** 
    <span><strong>案例三: </strong></span> 
    <div><span><a data="37244" id="copybut37244" onclick="doCopy('code37244')"><u>复制代码</u></a></span> 代码如下:</div><div id="code37244"> 
    /** 
     * 这个是一个页面级文档块注释 
     *@package haha 
     * 
     */ 
    define('yyyy', 'hahha'); 
    </div> 
    就会出现如上所说的情况3Error。 
    解决方案也是如出一则: 
    <div><span><a data="18682" id="copybut18682" onclick="doCopy('code18682')"><u>复制代码</u></a></span> 代码如下:</div><div id="code18682"> 
    /** 
     * 这个是一个页面级文档块注释 
     *@package haha 
     */ 
    /** 
     * 我是常量 
     */ 
    define('yyyy', 'hahha'); 
    </div>
    如果所写的文档块正确,就不会出现@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的错误就是小编分享给大家的全部内容了,希望能给大家一个参考
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/15 3:05:47