|
@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.
|
|