2009-11-21 4 views
3

En général, les propriétés PHPDOC sont explicites, mais j'ai du mal à les comprendre:Quel est le but de ces propriétés PHPDOC?

@category - qu'est-ce que c'est exactement?

@package - quelqu'un pourrait-il me fournir des exemples sur l'utilisation de cette propriété?

+1

Avez-vous regardé à l'adresse http: //manual.phpdoc .org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.pkg.html? – Gumbo

Répondre

10

La balise package est le porte-clés d'organisation que vous utilisez dans votre code. Lorsque phpDocumentor génère les documents, il collecte les éléments dans les packages que vous avez définis. Dans certains cas, vous pouvez choisir d'utiliser un seul nom de paquet (@package MyPackage) pour votre base de code entière, de sorte que tous les fichiers, classes, etc, apparaîtront dans les documents de ce paquet. Cependant, si vous choisissez d'organiser les choses de manière plus modulaire, vous pourriez avoir tous les fichiers procéduraux Web dans un paquet (@package Webpages), toutes les classes de paquets dans une base de données (@package DatabaseHandlers), toutes les classes d'utilitaires dans un paquet (@package Utilites), et ainsi de suite.

La principale chose à retenir à propos de @package est que c'est votre avenue pour organiser les docs ... cela n'a rien à voir avec la façon dont le code s'exécute. Maintenant, évidemment, vous êtes plus susceptible de vouloir organiser les documents en fonction de la façon dont vous organiser conceptuellement les morceaux de votre application dans votre tête, de sorte que dans ce sens, « paquet » aurait se sentir comme il est organiser le code ... Mais à la fin, la balise package concerne la manière dont vous voulez que phpDocumentor organise les documents.

En ce qui concerne la balise category, je ne crois pas que les convertisseurs de sortie utilisent cette exception, sauf celle (s) qui compte pour le projet PEAR. La catégorie est utilisée pour collecter des ensembles de paquets en un seul grand paquet. Mais encore une fois, ceci n'est pertinent que pour PEAR, dans la mesure où les capacités sont déjà intégrées dans les convertisseurs de sortie. Vous pouvez ignorer cette balise si vous voulez ... vous ne peut pas ignorer la balise de package, car il est au cœur de la façon dont phpDocumentor organise les documents. Maintenant, pour ce qui est des exemples d'utilisation de @package, il y en a dans le manuel, comme déjà vu. En résumé, vous avez besoin d'une balise package dans le docblock au niveau du fichier de chaque fichier (c'est ici que les fonctions et les constantes globales obtiendraient leur "package") et dans le docblock de chaque classe. Si vous ne fournissez pas de valeurs de package pour ces éléments de code, phpDocumentor est obligé de les vider tous dans un package "par défaut". Dernier point ... si vous ne vous souciez pas d'organiser votre code en plusieurs paquets et que vous ne voulez pas éditer tous vos fichiers pour ajouter les tags @package, vous pouvez utiliser l'argument -dn runtime pour Définir un nom de package par défaut [1]. Cela dit à phpDocumentor d'utiliser le nom du paquet que vous fournissez dans cet argument pour tous les éléments de code "non emballés" pour lesquels il veut un nom de paquet. Il y a aussi un argument -dc pour définir un nom de catégorie par défaut, mais c'est un besoin beaucoup moins important en ce qui concerne phpDocumentor.

[1] - http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_phpDocumentor.howto.pkg.html#using.command-line.defaultpackagename

(j'incluais plus d'URL, mais stackoverflow ne me laisse pas poster plus d'un ...)

4

@Category

La balise @Category est utilisé pour organiser des groupes de paquets ensemble.

C'est directement applicable au XML: Convertisseur DocBook/de peardoc2 et peut être utilisé par d'autres convertisseurs. Autres Convertisseurs empaquetés avec phpDocumentor ignorer la catégorie, mais cela peut changer dans les versions futures. Il est également possible de spécifier dynamiquement catégorie à l'aide du -dc, commutateur de ligne de commande --defaultcategoryname

http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.category.pkg.html

@package

@package ne peut être utilisé pour documenter pages procédurales ou classes.

Les packages sont utilisés pour vous aider des éléments liés au groupe logiquement. Vous écrivez des classes pour regrouper fonctions et données associées, et phpDocumentor représente le contenu de fichiers (fonctions, définit et inclut) en tant que "pages de procédure". Un package est utilisé pour regrouper les classes et les pages procédurales ensemble de la même manière qu'un groupe de répertoires a associé les fichiers ensemble.

http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.package.pkg.html

Questions connexes