Overview

Namespaces

  • Alvine
    • Documentation
      • PlantUML
        • Diagram
          • Classes
            • Relation
            • Structure

Classes

  • Diagram
  • Structure
  • Overview
  • Namespace
  • Class
  • Tree
  • Deprecated

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 UML-Diagramm


Alvine\Core\Alvine
Extended by 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
Methods summary
public
# __construct( )

Neues Objekt

Neues Objekt

public Alvine\Documentation\PlantUML\Diagram\Classes\Diagram
# add( Alvine\Documentation\PlantUML\Diagram\Entity $entity )

Neues Element hinzufügen

Neues Element hinzufügen

Es können Packages, Klasse, Interfaces, Trait hinzugefügt werden

Parameters

$entity
Neues Element hinzufügen

Returns

Alvine\Documentation\PlantUML\Diagram\Classes\Diagram
public string
# getDiagramm( string $startTag = null, string $endTag = null )

Diagramm erstellen

Diagramm erstellen

Erstellt die für plantUML notwendige ASCII Beschreibung. Die Standard-Tags sind @startuml und @enduml.

Parameters

$startTag
Anfangstag
$endTag
Endtag

Returns

string
plantUML Diagramm
public Alvine\Documentation\PlantUML\Diagram\Classes\Diagram
# activateNamespace( )

Schaltet die automatische Namensraum Erkennung an

Schaltet die automatische Namensraum Erkennung an

Returns

Alvine\Documentation\PlantUML\Diagram\Classes\Diagram
public Alvine\Documentation\PlantUML\Diagram\Classes\Diagram
# deactivateNamespace( )

Schaltet die automatische Namensraum Erkennung aus

Schaltet die automatische Namensraum Erkennung aus

Returns

Alvine\Documentation\PlantUML\Diagram\Classes\Diagram
public string
# __toString( )

Für String-Cast

Für String-Cast

Returns

string
plantUML-Diagrammdaten
Constants summary
string SET_PHP_NAMESPACE

PHP-Namespace setzen (Leerzeichen ist wichtig, damit \ erkannt wird)

PHP-Namespace setzen (Leerzeichen ist wichtig, damit \ erkannt wird)

# 'set namespaceSeparator \\ '
string START_TAG

Start-Tag

Start-Tag

# '@startuml'
string END_TAG

End-Tag

End-Tag

# '@enduml'
Properties summary
protected array<\string> $entity

Strukturen

Strukturen

#
protected boolean $autonamespace

Automatischer Namespace

Automatischer Namespace

#
alvine.documentation.plantuml API-Dokumentation 0.11 | © schukai GmbH | Impressum