herrira / mermaid
A mermaid syntax builder for PHP.
Installs: 13
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/herrira/mermaid
Requires (Dev)
- phpunit/phpunit: ^9.5
README
A PHP library that enables to you generate mermaid-js syntax.
Available diagrams:
- Class diagram
What's mermaid ?
From the docs:
It is a JavaScript based diagramming and charting tool that renders Markdown-inspired text definitions to create and modify diagrams dynamically.
You can also use it in Github's markdown.
Installation
You can install the package via composer:
composer require herrira/mermaid
Use:
use Herrira\Mermaid\ClassDiagram\Builder; $builder = new Builder(); $builder->inheritance('Duck', 'Animal') ->inheritance('Fish', 'Animal') ->inheritance('Zebra', 'Animal') ->publicAttribute('Animal', 'age', 'int') ->publicAttribute('Animal', 'gender', 'String') ->publicMethod('Animal', 'isMammal') ->publicMethod('Animal', 'mate') ->class(function ($class) { $class->name('Duck') ->publicAttribute('beakColor', 'String') ->publicMethod('swim') ->publicMethod('quack'); }) ->class(function ($class) { $class->name('Fish') ->privateAttribute('sizeInFeet', 'int') ->privateMethod('canEat'); }) ->class(function ($class) { $class->name('Zebra') ->publicAttribute('is_wild', 'bool') ->publicMethod('run'); });
Will result in:
classDiagram
Animal <|-- Duck
Animal <|-- Fish
Animal <|-- Zebra
Animal : +int age
Animal : +String gender
Animal: +isMammal()
Animal: +mate()
class Duck{
+String beakColor
+swim()
+quack()
}
class Fish{
-int sizeInFeet
-canEat()
}
class Zebra{
+bool is_wild
+run()
}
Note: Indentation support will be available in future versions.