Erste Schritte¶
Nach dem erfolgreichen Download der Phar Archive
kann das erste kleine Anwendungsscript erstellt werden. Dazu legen wir die Datei
myapp.php
an.
include_once '/phar/alvine.framework-snapshot.phar';
include_once '/phar/alvine.documentation.plantuml-snapshot.phar';
Im ersten Beispiel soll eine Klasse definiert werden. dazu muss ein neues Diagramm-Objekt erstellt und eine Klasse hinzugefügt werden.
$diagram = new \Alvine\Documentation\PlantUML\Diagram\Classes\Diagram();
$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);
echo (string) $diagram;
Die Ausgabe ist dann folgender Code.
abstract class myClass {
{abstract} {static} -validate(a, b)
{static} -a
{static} -b
}
bzw. folgendes Diagramm.
Für ein Interface können wir das selbe Beipiel folgendermassen definieren.
$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);
echo (string) $diagram;
Das Ergebnis ist der folgende Code.
interface myInterface {
{static} -doSomething(a, b)
{static} doOther(a)
{static} -myValue
-myCount
}
Um eine Beziehung herzustellen, wird
$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);
$interface->addMethod('doOther', ['a'], null, 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, false);
$class->addProperty('a', \Alvine\Documentation\PlantUML\Diagram\Classes\Structure\ClassStructure::VISIBILITY_PRIVATE, false);
$class->addProperty('b', \Alvine\Documentation\PlantUML\Diagram\Classes\Structure\ClassStructure::VISIBILITY_PRIVATE, false);
$diagram->add($class);
$diagram->add(new \Alvine\Documentation\PlantUML\Diagram\Classes\Relation\Implementation($interface, $class));
echo (string) $diagram;