PHPDoc - http://www.phpdoc.de/
 
@brother, @sister

@brother und der Alias @sister ermöglichen eine horizontale Informationsvererbung innerhalb einer Klasse bzw. eines Moduls. Funktionen (Methoden) und Klassenvariablen können Geschwister benennen.

Syntax und Scope
Syntax @brother (function()|$variable)
@sister (function()|$variable)
Scope class, function, var, define, module, use

Mit Hilfe von @brother (@sister) wird die Dokumentation von Aliasen und verwandten Elementen vereinfacht. Geschwister erben die Dokumentation eines anderen Elements und überschreiben gegebenenfalls Dokumentationsteile. Somit sind bei Geschwistern nur die Unterschiede zu benennen.

Das Beispiel zeigt rechts eine Funktion printArticle(), welche die Parameterliste (@param), die Zugriffsrechte (@access) und die Detailbeschreibung ("Der Artikel wird...") von der Schwester getArticle() erbt. Die Kurzbeschreibung ("Zeigt einen...") und der Rückgabewert (@return) hingegen werden überschrieben.

Benutzung
/**
* Liefert einen Artikel als HTML Fragment.
* 
* Der Artikel wird entsprechend der benutzerdefinierten
* Templates in einer HTML Tabelle dargestellt.
* 
* @param  mixed   Artikelnummer
* @access public
* @return string  Artikeldarstellung als HTML Fragment
*/
function getArticle($artId) {
  ...
}
/**
* Zeigt einen Artikel in einer HTML Tabelle.
*
* @return  void
* @sister  getArticle()
*/
function printArticle($artId) {
  ...
}

Im Beispiel wird ein Alias draw() für paint() "angelegt". Es ist nicht notwendig draw() gesondert zu dokumentieren. Die Dokumentation wird von paint() übernommen.

Codebeispiel
 
/**
* Oberklasse der geometrischen Figuren
* @abstract
* @access    public
* @author    Ulf Wendel <ulf.wendel@phpdoc.de>
* @author    Ulf Wendel <uw@netuse.de>
*/
class geomfigure {
  
  /**
  * Skalierungsfaktor bei der Darstellung.
  * @abstract
  */
  var $skale;
	
  /**
  * Zeichnet das Objekt.
  * @abstract
  * @access    public
  */
  function paint() {
    ;
  }
	
  /**
  * @brother paint()
  */
  function draw() {
	  ;
  } 
	
}
Generierte Dokumentation
... bin jetzt müde, es ist 2:22 Uhr.

 
Inhalt << @author  |  @constant >>

 @copyright Ulf Wendel <ulf.wendel@phpdoc.de>, @sponsored by NetUSE AG