Class Diagram
Klassendiagramm
Diese Klasse hilft bei der Erstellung einer Beschreibungszeichenkette für plantUML. plantUML ist ein Programm zur Erstellung von UML-Diagrammen aus einer ASCII Beschreibungsdatei.
Weitere Infos sind unter plantuml.sourceforge.net zu finden.
Das folgende Beispiel erstellt ein Diagramm:
$diagram = new \Alvine\Documentation\PlantUML\Diagram\Classes\Diagram(); $interface = new \Alvine\Documentation\PlantUML\Diagram\Classes\Structure\InterfaceStructure('myInterface'); $interface->addMethod('doSomething', ['a', 'b'], \Alvine\Documentation\PlantUML\Diagram\Classes\Structure\ClassStructure::VISIBILITY_PRIVATE, true, true); $interface->addMethod('doOther', ['a'], null, true, false); $interface->addProperty('myValue', \Alvine\Documentation\PlantUML\Diagram\Classes\Structure\ClassStructure::VISIBILITY_PRIVATE, true); $interface->addProperty('myCount', \Alvine\Documentation\PlantUML\Diagram\Classes\Structure\ClassStructure::VISIBILITY_PRIVATE, false); $diagram->add($interface); $class = new \Alvine\Documentation\PlantUML\Diagram\Classes\Structure\ClassStructure('myClass', true); $class->addMethod('validate', ['a', 'b'], \Alvine\Documentation\PlantUML\Diagram\Classes\Structure\ClassStructure::VISIBILITY_PRIVATE, true, true); $class->addProperty('a', \Alvine\Documentation\PlantUML\Diagram\Classes\Structure\ClassStructure::VISIBILITY_PRIVATE, true); $class->addProperty('b', \Alvine\Documentation\PlantUML\Diagram\Classes\Structure\ClassStructure::VISIBILITY_PRIVATE, true); $diagram->add($class); $trait = new \Alvine\Documentation\PlantUML\Diagram\Classes\Structure\ClassStructure('myTrait', true); $trait->addMethod('run', ['d'], \Alvine\Documentation\PlantUML\Diagram\Classes\Structure\ClassStructure::VISIBILITY_PRIVATE, true, true); $trait->addProperty('d', \Alvine\Documentation\PlantUML\Diagram\Classes\Structure\ClassStructure::VISIBILITY_PRIVATE, true); $diagram->add($trait); $classA = new \Alvine\Documentation\PlantUML\Diagram\Classes\Structure\ClassStructure('A', true); $classB = new \Alvine\Documentation\PlantUML\Diagram\Classes\Structure\ClassStructure('B', true); $extends = new \Alvine\Documentation\PlantUML\Diagram\Classes\Relation\Extension($classA, $classB); $diagram->add($extends); $classC = new \Alvine\Documentation\PlantUML\Diagram\Classes\Structure\ClassStructure('C', true); $composition = new \Alvine\Documentation\PlantUML\Diagram\Classes\Relation\Composition($classA, $classC); $diagram->add($composition); $classD = new \Alvine\Documentation\PlantUML\Diagram\Classes\Structure\ClassStructure('D', true); $agregation = new \Alvine\Documentation\PlantUML\Diagram\Classes\Relation\Agregation($classB, $classD, \Alvine\Documentation\PlantUML\Diagram\Classes\Relation\Agregation::RIGHT); $diagram->add($agregation); $classE = new \Alvine\Documentation\PlantUML\Diagram\Classes\Structure\ClassStructure('E', true); $assosiation = new \Alvine\Documentation\PlantUML\Diagram\Classes\Relation\Assosiation($classA, $classE, \Alvine\Documentation\PlantUML\Diagram\Classes\Relation\Assosiation::HORIZONTAL); $diagram->add($assosiation); echo (string) $diagram;
Diese ergibt folgendes UML Diagramm
- Alvine\Core\Alvine
- Alvine\Documentation\PlantUML\Diagram\Classes\Diagram
Namespace: Alvine\Documentation\PlantUML\Diagram\Classes
Package: Alvine\Documentation\PlantUML
Category: Alvine
License: Alvine Nutzungslizenz
Author: schukai GmbH info@schukai.de
Version: $Revision:$
Since: 20140614
Link: alvine.io
Link: Klassendiagramm (Wikipedia)
Link: PlantUML Dokumentation
Located at diagram/classes/Diagram.class.php
Package: Alvine\Documentation\PlantUML
Category: Alvine
License: Alvine Nutzungslizenz
Author: schukai GmbH info@schukai.de
Version: $Revision:$
Since: 20140614
Link: alvine.io
Link: Klassendiagramm (Wikipedia)
Link: PlantUML Dokumentation
Located at diagram/classes/Diagram.class.php
public
|
|
public
|
|
public
string
|
|
public
|
|
public
|
|
public
string
|
string |
SET_PHP_NAMESPACE
PHP-Namespace setzen (Leerzeichen ist wichtig, damit \ erkannt wird) |
#
'set namespaceSeparator \\ '
|
string |
START_TAG
Start-Tag |
#
'@startuml'
|
string |
END_TAG
End-Tag |
#
'@enduml'
|
protected
array<\string>
|
$entity
Strukturen |
|
protected
boolean
|
$autonamespace
Automatischer Namespace |