jawira/plantuml-client
Laravel-friendly PHP client for PlantUML servers. Generate UML diagrams from text in your apps, with simple API calls, server URL configuration, and easy integration into projects needing rendered class, sequence, and other diagrams.
The following formats are supported: png (default), svg, eps, txt, and latex.
Each format has its own class constant in \Jawira\PlantUmlClient\Formats.
You can get all available formats with \Jawira\PlantUmlClient\Formats::ALL.
Currently, PlantUML client uses the official server: http://www.plantuml.com/plantuml. You can set your own PlantUML server -for example for privacy purposes.
Set the server on instantiation:
use Jawira\PlantUmlClient\Client;
$client = new Client('http://custom-server.com/plantuml');
Or, set the server after instantiation:
use Jawira\PlantUmlClient\Client;
$client = new Client(); // using default server
$client->setServer('http://custom-server.com/plantuml');
TIP: you can find plenty of open PlantUML servers with a simple search.
This library only provides the minimum functionality to convert diagrams into images. If you need to do something more fancy (eg. async), you can retrieve the image's url and do it yourself.
Generating the image's url can also be useful for websites, for example.
use Jawira\PlantUmlClient\Client;
use Jawira\PlantUmlClient\Format;
$puml = <<<PLANTUML
[@startuml](https://github.com/startuml)
Bob -> Alice : hello
[@enduml](https://github.com/enduml)
PLANTUML;
$client = new Client();
$url = $client->generateUrl($puml, Format::PNG);
echo "<img src='$url'>";
How can I help you explore Laravel packages today?