成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

php uml圖生成并能支持processon導(dǎo)入

weapon / 2433人閱讀

摘要:它是一款全自動(dòng)圖生成器,支持。但是圖并不方便操作。因?yàn)榻?jīng)常使用來(lái)做圖,所以如果能生成一個(gè)可以導(dǎo)入到的文件那就更好了。文件支持導(dǎo)入文件,那文件到底是什么樣子的是導(dǎo)出時(shí),生成的圖片,包含各個(gè)元素。導(dǎo)入主要看的是。

項(xiàng)目需要畫uml圖,手寫浪費(fèi)時(shí)間,于是就搜了一些相關(guān)的工具來(lái)生成它。有php插件phpumd等等。發(fā)現(xiàn)了一個(gè)簡(jiǎn)單易用的工具,那就是phuml。

Phuml

它是一款全自動(dòng)uml圖生成器,支持php5。

安裝教程
git clone https://github.com/jakobwesthoff/phuml  //下載源碼
yum install graphviz        //安裝圖形庫(kù)
cd phuml/src/app
./phuml -r /path -graphviz -createAssociations false -neato test.png       //生成uml圖

是不是很簡(jiǎn)單。
但是uml圖并不方便操作。因?yàn)榻?jīng)常使用processon來(lái)做圖,所以如果能生成一個(gè)可以導(dǎo)入到processon的.pos文件那就更好了。

.pos文件

processon支持導(dǎo)入.pos文件,那.pos文件到底是什么樣子的?

{
    "diagram":{
        //image是導(dǎo)出時(shí),生成的圖片,elements包含各個(gè)元素。導(dǎo)入主要看的是elements。
        "image":{
            "height":322,
            "pngdata":"",                      //導(dǎo)出時(shí),base64格式圖片
            "width":310,
            "y":9,
            "x":26
        },
        "elements":{
            "page":{
                "gridSize":15,                 //網(wǎng)格大小
                "showGrid":true,             //顯示網(wǎng)格
                "orientation":"portrait",     //頁(yè)面方向 portrait豎向
                "height":1500,               //頁(yè)面高度
                "backgroundColor":"transparent",  //背景顏色
                "width":1250,                 //頁(yè)面長(zhǎng)度
                "padding":20                 //頁(yè)面的灰邊寬度
            },
            "elements":{
                "15a3b34d769898":{             //生成一串隨機(jī)id作為標(biāo)識(shí),每個(gè)圖形都對(duì)應(yīng)著一個(gè)
                    "textBlock":[             //文本塊,uml圖為三塊
                        //類名
                        {
                            "position":{
                                "w":"w-20",
                                "h":"30",
                                "y":"0",
                                "x":"10"
                            },
                            "text":"類"
                        },
                        //屬性
                        {
                            "position":{
                                "w":"w-20",
                                "h":47,
                                "y":"35",
                                "x":"10"
                            },
                            "text":"+ attribute1:type = defaultValue + attribute2:type - attribute3:type",
                            "fontStyle":{
                                "bold":false,
                                "textAlign":"left"
                            }
                        },
                        //方法
                        {
                            "position":{
                                "w":"w-20",
                                "h":145,
                                "y":93,
                                "x":"10"
                            },
                            "text":"+ operation1(params):returnType - operation2(params) - operation3() + operation1(params):returnType - operation2(params) - operation3() + operation1(params):returnType - operation2(params) - operation3()",
                            "fontStyle":{
                                "bold":false,
                                "textAlign":"left"
                            }
                        }
                    ],
                    "lineStyle":{

                    },
                    "link":"",
                    "children":[

                    ],
                    "parent":"",
                    "attribute":{
                        "linkable":true,
                        "visible":true,
                        "container":false,
                        "rotatable":true,
                        "markerOffset":5,
                        "collapsable":false,
                        "collapsed":false
                    },
                    "fontStyle":{
                        "bold":true
                    },
                    "resizeDir":[
                        "tl",
                        "tr",
                        "br",
                        "bl"
                    ],
                    "dataAttributes":[

                    ],
                    "shapeStyle":{
                        "alpha":1
                    },
                    "id":"15a3b34d769898",
                    "anchors":[
                        {
                            "y":"0",
                            "x":"w/2"
                        },
                        {
                            "y":"h",
                            "x":"w/2"
                        },
                        {
                            "y":"h/2",
                            "x":"0"
                        },
                        {
                            "y":"h/2",
                            "x":"w"
                        }
                    ],
                    "title":"類",
                    "category":"uml_class",
                    "name":"cls",
                    "path":[
                        {
                            "actions":[
                                {
                                    "action":"move",
                                    "y":"4",
                                    "x":"0"
                                },
                                {
                                    "y1":"0",
                                    "action":"quadraticCurve",
                                    "y":"0",
                                    "x":"4",
                                    "x1":"0"
                                },
                                {
                                    "action":"line",
                                    "y":"0",
                                    "x":"w-4"
                                },
                                {
                                    "y1":"0",
                                    "action":"quadraticCurve",
                                    "y":"4",
                                    "x":"w",
                                    "x1":"w"
                                },
                                {
                                    "action":"line",
                                    "y":"h-4",
                                    "x":"w"
                                },
                                {
                                    "y1":"h",
                                    "action":"quadraticCurve",
                                    "y":"h",
                                    "x":"w-4",
                                    "x1":"w"
                                },
                                {
                                    "action":"line",
                                    "y":"h",
                                    "x":"4"
                                },
                                {
                                    "y1":"h",
                                    "action":"quadraticCurve",
                                    "y":"h-4",
                                    "x":"0",
                                    "x1":"0"
                                },
                                {
                                    "action":"close"
                                }
                            ]
                        },
                        {
                            "fillStyle":{
                                "type":"none"
                            },
                            "actions":[
                                {
                                    "action":"move",
                                    "y":30,
                                    "x":"0"
                                },
                                {
                                    "action":"line",
                                    "y":30,
                                    "x":"w"
                                },
                                {
                                    "action":"move",
                                    "y":88,
                                    "x":"0"
                                },
                                {
                                    "action":"line",
                                    "y":88,
                                    "x":"w"
                                }
                            ]
                        },
                        {
                            "lineStyle":{
                                "lineWidth":0
                            },
                            "fillStyle":{
                                "type":"none"
                            },
                            "actions":[
                                {
                                    "action":"move",
                                    "y":"0",
                                    "x":"0"
                                },
                                {
                                    "action":"line",
                                    "y":"0",
                                    "x":"w"
                                },
                                {
                                    "action":"line",
                                    "y":"h",
                                    "x":"w"
                                },
                                {
                                    "action":"line",
                                    "y":"h",
                                    "x":"0"
                                },
                                {
                                    "action":"close"
                                }
                            ]
                        }
                    ],
                    "fillStyle":{

                    },
                    "locked":false,
                    "group":"",
                    "props":{
                        "w":230,
                        "heights":[
                            30,
                            50,
                            145
                        ],
                        "angle":0,
                        "h":242,
                        "y":49,
                        "zindex":1,
                        "x":66
                    }
                }
            }
        }
    },
    "meta":{
        "id":"58a29cdce4b028637aca553f",
        "member":"saber",
        "exportTime":"2017-02-14 14:00:44",
        "diagramInfo":{
            "category":"uml",
            "title":"訂單",
            "created":"2017-02-14 13:59:56",
            "attributes":null,
            "creator":"saber",
            "modified":"2017-02-14 14:00:25"
        },
        "type":"ProcessOn Schema File",
        "version":"1.0"
    }
}

所以只要仿照著它的格式來(lái)一份就能生成一份pos文件。

使用
git clone https://github.com/sabercoding/phuml.git  //下載源碼
./phuml -r /path -processon  test.pos       //生成pos文件
待優(yōu)化之處

類圖大小及文本塊大小

類之間的關(guān)系

類排版

最新發(fā)表在這里

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/22375.html

相關(guān)文章

  • 安利個(gè)開源免費(fèi)流程應(yīng)用Draw.io/diagrams,告別Visio/ProcessOn

    摘要:截至發(fā)文,最新版本為內(nèi)容機(jī)密,團(tuán)隊(duì)使用首選私有部署,形式部署非常簡(jiǎn)單,只要分鐘,行代碼,你就可擁有自己專屬的媲美的流程圖應(yīng)用。私有部署的還有一個(gè)好處是可以進(jìn)行二次開發(fā)。 ...

    chaos_G 評(píng)論0 收藏0
  • ?? 程序員【代碼管理】工具介紹??,熱門語(yǔ)言更新這么快,你繞不過(guò)這一關(guān)的!

    上次講了2個(gè)游戲源碼 前端實(shí)戰(zhàn)之js推箱子游戲(有界面、附源碼、贊關(guān)藏) Python實(shí)戰(zhàn):五子棋小游戲,切身感受一下前端和桌面應(yīng)用的區(qū)別,選擇自己喜歡的 本來(lái)今天準(zhǔn)備寫一篇面向?qū)ο笪恼拢窍胍幌?,講面向?qū)ο笾斑€是先給大家介紹幾款實(shí)用的工具,更加快速的理解,掌握知識(shí)點(diǎn)。 1.UML 統(tǒng)一建模語(yǔ)言(Unified Modeling Language,UML)是一種為面向?qū)ο笙到y(tǒng)的產(chǎn)品進(jìn)行說(shuō)明、可...

    array_huang 評(píng)論0 收藏0
  • 【面向?qū)ο蟮?em>PHP】之模式:?jiǎn)卫?/b>

    摘要:?jiǎn)卫J侥J较盗械拈_篇,首先介紹的是我最喜歡的單例模式,簡(jiǎn)單而言,這屬于生成一個(gè)且只生成一個(gè)對(duì)象實(shí)例的特殊類。問題良好設(shè)計(jì)的系統(tǒng)通過(guò)方法調(diào)用傳遞對(duì)象實(shí)例。面向?qū)ο笤O(shè)計(jì)模式目錄 單例模式 模式系列的開篇,首先介紹的是我最喜歡的單例模式(Singleton),簡(jiǎn)單而言,這屬于:生成一個(gè)、且只生成一個(gè)對(duì)象實(shí)例的特殊類。 這個(gè)唯一存在的類,將替代Global關(guān)鍵字,并且更安全。 產(chǎn)生前提 全局...

    崔曉明 評(píng)論0 收藏0
  • 5分鐘快速部署DataDraw數(shù)字繪

    摘要:分鐘快速部署數(shù)字繪經(jīng)常有小伙伴問,有沒有一款好用又免費(fèi)的畫圖軟件,畫畫流程圖思維導(dǎo)圖今天就介紹一款開源的在線畫圖軟件,可以滿足多方的需求。為了方便部署和解決環(huán)境兼容性等問題,采用來(lái)部署安裝數(shù)字繪。 5分鐘快速部署DataDraw數(shù)字繪 經(jīng)常有小伙伴問,有沒有一款好用又免費(fèi)的畫圖軟件,畫畫流程圖、UML、思維導(dǎo)圖?今天就介紹一款開源的在線畫圖軟件,可以滿足多方的需求。 DataDraw數(shù)...

    piapia 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<