2011-04-06 26 views
6

我想知道我應該如何使用@package & @subpackage類文檔。如何在phpdoc中使用@package&@subpackage?

讓利說我下面的類

class My_Controller_Action_Helper_MyHelperAction extends Foo_Bar {} 

它應該是:

@category My 
@package  Controller 
@subpackage Action_Helper 

@category My 
@package  Controller 
@subpackage Action_Helper_MyHelperAction 

@category My 
@package  Controller_Action 
@subpackage MyHelperAction 

@category My 
@package My_Controller_Action 
@subpackage MyHelperAction 

如果使用命名空間而不是'_'會怎麼樣?

+0

根據網站phpdoc.org,關於類別和子包:「這個標籤被認爲是棄用,可能會被刪除未來的phpDocumentor版本,建議使用@package標籤提供多種級別的功能。「 – SandroMarques 2017-01-26 10:43:50

回答

7

第一:如果使用「_」或「\」(名稱空間分隔符)不會影響您的決定,那麼您如何對類進行註釋。下劃線「_」來自命名空間前的時代,並且「充當」命名空間分隔符,除了它不創建任何命名空間。因此,「My_Controller_Action」在「My_Controller」中應被視爲「Action」。

但是,您如何使用@package和/或@subpackage確實是您的決定。例如,我根本不使用@category@subpackage就是「第二個」命名空間之後的所有內容。讓我解釋一下:我遵循PSR-0標準,其中一個包的結構爲\<Vendorname>\<packagename>\<subpackage>\...(或「_」而不是「\」,具體取決於版本)。然後@package <vendorname>.<package>@subpackage <subpackage>

結論:它取決於你:)一個documentor可以爲你的代碼創建不同的結構,這取決於你使用的標籤以及你如何使用它們。試試吧。

1

我使用@package作爲這個文件所屬的包的名稱......驚喜:)例如,如果它的插件叫做xyz @package屬於那個包中的所有文件。

doxygen(我使用)沒有@subpackage這樣的東西,雖然你可以自己做。例如:http://www.stack.nl/~dimitri/doxygen/commands.html

對於doxygen的,你可以使用類似@package my.awesome.package打破下來到「子包」

它是有意義的,是你真的可以用它來做什麼,只要是一致的。首先決定你想使用什麼,然後看看該應用程序的建議/文檔,因爲他們都不同

相關問題