PHPackages                             puml2php/puml-parser - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. puml2php/puml-parser

AbandonedArchivedLibrary[Parsing &amp; Serialization](/categories/parsing)

puml2php/puml-parser
====================

This is a php parser for plantuml file.

v3.2.1(4y ago)65921proprietaryPHPPHP &gt;=8

Since Oct 27Pushed 4y ago1 watchersCompare

[ Source](https://github.com/tasuku43/puml-parser-php)[ Packagist](https://packagist.org/packages/puml2php/puml-parser)[ RSS](/packages/puml2php-puml-parser/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (8)Dependencies (1)Versions (23)Used By (1)

PlantUML parser for PHP
=======================

[](#plantuml-parser-for-php)

Overview
--------

[](#overview)

This package builds AST of class definitions from plantuml files. This package works only with php.

Installation
------------

[](#installation)

Via Composer

```
composer require puml2php/puml-parser
```

Usage
-----

[](#usage)

sample PlantUML source file.

```
@startuml
package Lexer {
    interface Tokenizeable
    package Lexer/Arrow {
        abstract class ArrowTokenizer implements Tokenizeable
        class LeftArrowTokenizer {
            + publicProperty : array
            # protectedProperty : string
            - privateProperty
        }
    }

    enum Enum {
      CASE1
      CASE2
      CASE3
    }

    LeftArrowTokenizer--|>ArrowTokenizer
    NoneDefinitionClass ..|> Tokenizeable
}
@enduml
```

Basically, it is assumed that each class definition will be manipulated after it is converted to DTO.

```
