Diagram
class Diagram extends Alvine
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
Constants
SET_PHP_NAMESPACE |
PHP-Namespace setzen (Leerzeichen ist wichtig, damit \ erkannt wird) |
START_TAG |
Start-Tag |
SKINPARAM |
skinparam |
END_TAG |
End-Tag |
Properties
protected string> | $entity | ||
protected boolean | $autonamespace | ||
protected array | $skinparam |
Methods
Neues Objekt
Skin setzen
Diagramm erstellen
Schaltet die automatische Namensraum Erkennung an
Schaltet die automatische Namensraum Erkennung aus
Für String-Cast
Details
at line 136
__construct()
Neues Objekt
at line 153
Diagram
add(Entity $entity)
Neues Element hinzufügen
Es können Packages, Klasse, Interfaces, Trait hinzugefügt werden
at line 166
$this
setSkinparam(string $key, string $value)
Skin setzen
at line 182
string
getDiagramm(string $startTag = null, string $endTag = null)
Diagramm erstellen
Erstellt die für plantUML notwendige ASCII Beschreibung. Die Standard-Tags sind @startuml und @enduml.
at line 209
Diagram
activateNamespace()
Schaltet die automatische Namensraum Erkennung an
at line 219
Diagram
deactivateNamespace()
Schaltet die automatische Namensraum Erkennung aus
at line 229
string
__toString()
Für String-Cast