2010-01-29 4 views
2

Premier jour j'utilise phpDocumentor et jusqu'ici tout va bien, mais j'ai une question que je n'ai pas comprise dans le manuel ... La documentation des variables globales.phpDocumentor @global et @name question

Comment pourrais-je documenter ce code si:

  1. $ someGlobalVar est pas decalren dans le fichier PHP de la classe (il peut même être undelared).
  2. $ someGlobalVar est déclaré comme ceci: $ someGlobalVar = array(); (n'utilisant pas le tableau superglobal comme dans le manuel de phpDocumentor).

Le code PHP:

class myCustomClass 
{ 
    private $someProperty; 

    //I want to document the use of global var in this method 
    public function getSomeProperty() 
    { 
     global $someGlobalVar; 

     if (isset($someGlobalVar)) 
     { 
      //... 
     } 
     else 
     { 
      //... 
     } 
    } 
} 

Edit: Je veux faire documenter ces GLOBALS comme le montre manuel, mais je ne suis pas sûr de savoir comment/où mettre les balises @global et @name.

Edit 2: Je fini par utiliser l'extrait suivant juste avant la déclaration de getSomeProperty:

/** 
* Get some property based on the $someGlobalVar global. 
* @global array $someGlobalVar User defined array that bla bla bla. 
* @return mixed Return a result bla bla bla. 
*/ 

J'utilise la syntaxe phpDocumentor de sorte que l'aide en ligne d'affichage NetBeans IDE dans le code source. Tout semble bien dans NetBeans mais je ne suis pas sûr que c'est la façon de faire ...

Quelqu'un peut-il confirmer que c'est OK?

+0

Eh bien, ** I ** résoudrait ce problème en n'utilisant pas les globales :) Mais je ne pense pas que ce soit la réponse que vous voulez. –

+0

Hehe vrai, mais dans mon cas, je dois documenter ce qui a été fait :) – AlexV

+0

Pour toute personne qui arrive ici lorsque googler le problème, [ce fil semble avoir une réponse détaillée.] (Http://stackoverflow.com/questions/12163292/phpdoc-does-not-to-reconnaitre-global-variables-in-output-what-am-i-doing-wr) – Byson

Répondre

1

Depuis $ someGlobalVar est défini et après quelques recherches utilisateur, je pense @uses est le moyen le plus adapté pour documenter ceci:

@uses $someGlobalVar User defined array that bla bla bla. 

De la documentation:

La balise @uses peut être utilisé au document n'importe quel élément (variable globale, inclure, page, classe, fonction, définir, méthode, variable)

1

Vous documenteriez la variable où elle est définie, je crois, par ex.

/** 
* My var 
* @var array 
*/ 
$someGlobalVar = array(); 

Vous n'avez pas besoin de le documenter dans votre méthode de classe lorsque vous documentez l'API et ses fonctionnalités.

Mon avis malgré tout.

+0

Aimerait utiliser @global et @name comme le montre le manuel ... – AlexV

Questions connexes