plantuml-encoding을 사용하여 PHP로 PlantUml

4119 단어 PHPplantumluml

개요



PHP로 API 클라이언트 구현 을 참고로, plantuml-encoding 을 사용하여 PlantUML 코드를 압축 문자열로 하는 변환을 PHP로 한다.

최종 목적 : PlantUML의 코드를 텍스트로 실제 데이터로 유지하면서 (git 관리하면서), 그림은 자동으로 업데이트되어 열람 만하면 쉽게 할 수있는 환경을 찾는다

try



환경



PHP 실행할 수 있는 환경.
이번은 docker-compose에서 준비.

첫 번째 디렉토리 구조
project/
 ├ docker-compose.yml
 ├ docker(dockerfileなど入ってる)
 ├ public/
   └ index.php/

jawira/plantuml-encoding



composer로 넣기
$ composer require jawira/plantuml-encoding

우선 실행해 보겠습니다.



참고 의 샘플 코드를 조금 바꾸어 보았습니다.

index.php
<?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를 가져와서 그대로 화면에 출력합니다.



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 의 기술이 필요합니다만, 인코딩시에는 제거합니다.



프레임 워크 등을 사용하여 .puml 파일을 저장하는 작업 디렉토리의 내용이 그대로 그림으로 표시 할 수있게되면 편리하지 않을까 생각했습니다.

좋은 웹페이지 즐겨찾기