Vous pouvez avoir les mêmes annotations de package pour plusieurs classes dans des fichiers distincts. PHP Documentor les collectera et lors de la création des API Docs, regroupera les fichiers avec la même annotation de paquet.
Par exemple http://framework.zend.com/svn/framework/standard/trunk/library/Zend/Validate.php
/**
* @category Zend
* @package Zend_Validate
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Validate implements Zend_Validate_Interface
et http://framework.zend.com/svn/framework/standard/trunk/library/Zend/Validate/Alnum.php
/**
* @category Zend
* @package Zend_Validate
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Validate_Alnum extends Zend_Validate_Abstract
Les deux sont des fichiers séparés, mais appartiennent à l'ensemble Zend_Validate. Ainsi, sur http://framework.zend.com/apidoc/core/, vous pouvez les trouver regroupés dans le même paquet.
Vous pouvez également avoir des sous-packages pour regrouper des classes supplémentaires en dessous d'un package normal. Par exemple http://framework.zend.com/svn/framework/standard/trunk/library/Zend/Validate/Sitemap/Lastmod.php
/**
* Validates whether a given value is valid as a sitemap <lastmod> value
*
* @link http://www.sitemaps.org/protocol.php Sitemaps XML format
*
* @category Zend
* @package Zend_Validate
* @subpackage Sitemap
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Validate_Sitemap_Lastmod extends Zend_Validate_Abstract
Voir la documentation de l'API lien ci-dessus pour voir comment il montre quand produit.
Vous ne documentez pas les annotations de package. L'annotation est juste utilisée pour grouper logiquement des classes ou des fichiers auxquels elles appartiennent conceptuellement. Si vous voulez avoir une description de paquet, écrivez-la dans le fichier le plus approprié du paquet ou créez un fichier séparé et donnez-lui la même annotation que les autres fichiers/classes de ce paquet.
Pour des exemples d'utilisation pour les packages, vous avez l'exemple d'annotation pour lier des fichiers contenant des exemples ou simplement les écrire en ligne avec des balises de code dans DocBlocks. Si vous utilisez un fichier séparé pour documenter vos paquets, vous pouvez les insérer là.
/**
* MyLib
*
* Files under the MyLib package do foo and bar. They are baz.
*
* Usage Examples of MyLib classes
* <code>
* $foo = new Foo;
* $foo->doSomething()
* </code>
*
* @package MyLib
*
* @example /some/path/to/an/example/file
*/
* (référence) * http://manual.phpdoc.org/HTMLframesConverter/default/ – Gordon
@gordon. semble qu'ils mettent des classes dans un fichier. donc le fichier est le paquet? mais est-ce vraiment une bonne pratique? Parce que j'ai appris un fichier une classe. ne serait pas bon si on les mélangeait. peut-être c'est un énorme paquet ... –
+1 pour documenter du tout – Gordon