程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 完美解決phpdoc導出文檔中@package的warning及Error的錯誤

完美解決phpdoc導出文檔中@package的warning及Error的錯誤

編輯:PHP綜合

今天在編寫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: 肖肖 [email protected] 
@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的錯誤就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved