找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1660|回复: 0
打印 上一主题 下一主题

完美解决phpdoc导出文档中@package的warning及Error的错误

[复制链接]

2560

主题

2560

帖子

7622

积分

论坛元老

Rank: 8Rank: 8

积分
7622
跳转到指定楼层
楼主
发表于 2018-2-14 05:36:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            今天在编写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类申明,必须用文档块注释隔开(也就是说页面级文档块注释之后不能紧接着代码片段)
比如情况:

案例一:
[U]复制代码[/U] 代码如下:
/**
* 这个是一个页面级文档块注释
*@package haha
*
*/
class test {

}

以上的情况就会出现上述2的错误信息
解决该案例的方案是给class重新声明一个文档块注释
[U]复制代码[/U] 代码如下:
/**
* 这个是一个页面级文档块注释
*@package haha
*
*/
/**
* 我是test类
*/
class test {

}

***********************************************

案例二:
[U]复制代码[/U] 代码如下:
/**
* 这个是一个页面级文档块注释
*/

/**
* 这个是一个页面级文档块注释
*@package haha
*
*/
class test {

}

会出现如上问题中的1/2的情况。
解决方案也是如案例一的解决方案一样

***********************************************
案例三:
[U]复制代码[/U] 代码如下:
/**
* 这个是一个页面级文档块注释
*@package haha
*
*/
define('yyyy', 'hahha');

就会出现如上所说的情况3Error。
解决方案也是如出一则:
[U]复制代码[/U] 代码如下:
/**
* 这个是一个页面级文档块注释
*@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中PDO的错误处理
  • 全新的PDO数据库操作类php版(仅适用Mysql)
  • Php中用PDO查询Mysql来避免SQL注入风险的方法
  • PHP PDOStatement:bindParam插入数据错误问题分析
  • PHP实现PDO的mysql数据库操作类
  • php使用pdo连接报错Connection failed SQLSTATE的解决方法
  • php使用pdo连接并查询sql数据库的方法
  • php使用pdo连接mssql server数据库实例
  • php下pdo的mysql事务处理用法实例
  • php中数据库连接方式pdo和mysqli对比分析
  • php中mysql连接方式PDO使用详解
  • php使用pdo连接sqlite3的配置示例
  • php实现PDO中捕获SQL语句错误的方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端