こちらのサイトではDRUPAL10に関連する記事を掲載しています。
はじめに
レンタルサーバーロリポップでPlantUMLを表示させてみました。lantuml-encodingを使えば、SVGで出力されるようです。
インストール手順
jawira/plantuml-encoding
composerで入れる
$ composer require jawira/plantuml-encoding
<?php
require '../vendor/autoload.php';
use function Jawira\PlantUml\encodep;
$encode = encodep('
Alice -> Bob: hello
');
$svg = file_get_contents("http://www.plantuml.com/plantuml/svg/{$encode}");
echo $svg
encodep()
関数でエンコードを行います。
生成した圧縮文字を用いてPlantUML Serverからsvgを取得し、それをそのまま画面に出します。
![スクリーンショット 2019-11-07 9.58.16.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F489139%2Feefd3ceb-5bd4-993c-3a3c-8b32a80fc93c.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=1172d7b0a5539b5a609ea5ff5f26982a)
PlantUmlを別ファイルに記述する
./umls/test.puml
@startuml
Alice -> Bob: hello
@enduml
index.php
<?php
require '../vendor/autoload.php';
use function Jawira\PlantUml\encodep;
$uml = file_get_contents('../umls/test.puml');
$uml = str_replace('@startuml', '', $uml);
$uml = str_replace('@enduml', '', $uml);
$encode = encodep($uml);
$svg = file_get_contents("http://www.plantuml.com/plantuml/svg/{$encode}");
echo $svg;
別のファイルにUMLを記述して読み込みます。
エディタのパッケージで開発中にプレビューを行うには@startuml
と@enduml
の記述が必要なのですが、エンコード時には取り除きます。
参考
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9cGxhbnR1bWwtZW5jb2RpbmclRTMlODIlOTIlRTQlQkQlQkYlRTMlODElQTMlRTMlODElQTZQSFAlRTMlODElQTdQbGFudFVtbCVFMyU4MSU5OSVFMyU4MiU4QiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9ZjJmZjgyZjQ4MDc0ZjFkNWQ2OGVmZDcwNTA4NjMxMGQ&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBfbW1tbV8mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWFlYWY1MDc3YmRhNzQ5NTk2YWVhOGI3NDZiYjg5OWY4&blend-x=142&blend-y=486&blend-mode=normal&s=28075c0daf11d7ff2edf35893b572749)
plantuml-encodingを使ってPHPでPlantUmlする - Qiita
概要PHP で API クライアントを実装する を参考に、plantuml-encodingを使用してPlantUMLのコードを圧縮文字列にする変換をPHPで行う。最終目的: PlantUMLの…
![](https://blogdeoshiete.com/wp-content/uploads/advertise.jpg)
この記事またはDrupalに関するご質問がございましたら、お気軽にお問い合わせください。