PHP code example of puml2php / puml-parser

1. Go to this page and download the library: Download puml2php/puml-parser library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

puml2php / puml-parser example snippets




umlParser\Lexer\Lexer;
use PumlParser\Lexer\PumlTokenizer;
use PumlParser\Parser\Parser;

$lexer       = new Lexer(PumlTokenizer::newInstance());
$parser      = new Parser($lexer);
$ast         = $parser->parse(__DIR__ . '/sample.puml');

foreach ($ast->toDtos() as $definition) {
    echo "----------\n";

    echo "name: " . $definition->getName() . "\n";
    echo "package: " . $definition->getPackage() . "\n";

    if ($definition->getType() === 'enum') {
        foreach ($definition->getCases() as $case) {
            echo "case: " . $case . "\n";
        }
    } else {
        foreach ($definition->getProperties() as $property) {
            $propertyResult = "property name: " . $property->getName();
            $propertyResult .= " , visibility:  " . $property->getVisibility();
            $propertyResult .= " , type:  " . $property->getType();
            echo $propertyResult . "\n";
        }
    }
}



use PumlParser\Lexer\Lexer;
use PumlParser\Lexer\PumlTokenizer;
use PumlParser\Parser\Parser;

$lexer  = new Lexer(PumlTokenizer::newInstance());
$parser = new Parser($lexer);
$ast    = $parser->parse(__DIR__ . '/sample.puml');