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

資訊專欄INFORMATION COLUMN

用php生成HTML文件的類

DandJ / 2920人閱讀

摘要:目的用生成文檔支持標簽嵌套縮進支持標簽自定義屬性起因這個東西確實也是心血來潮寫的本來打算是輸出片段用的但后來就干脆寫成了一個可以輸出完整的功能我很滿意里邊的實現(xiàn)縮進的機制大家有用到的可以看看現(xiàn)在都是真正的前后端分離了這個東西喜歡就用不喜歡就

目的

用PHP生成HTML文檔, 支持標簽嵌套縮進, 支持標簽自定義屬性

起因

這個東西確實也是心血來潮寫的, 本來打算是輸出HTML片段用的, 但后來就干脆寫成了一個可以輸出完整HTML的功能;
我很滿意里邊的實現(xiàn)縮進的機制, 大家有用到的可以看看
p.s. 現(xiàn)在都是真正的前后端分離了(vue, nodejs, webpack...), 這個東西喜歡就用, 不喜歡就算了~

支持的標簽

html, head, meta, title, body, input, select/option, form, table, div, 注釋, 以及 自定義標簽(成對出現(xiàn)的標簽), 還有一大堆屬性(在下邊有介紹)

實現(xiàn) 整體

每個標簽都對應一個類, 比如 標簽, 對應了一個叫html的類

標簽中有用到的屬性, 我都放到了一個類中了, 并提供了方法去獲取賦了值的屬性

嵌套縮進

每個標簽我都設計了一個類, 比如 table 標簽, 就有一個叫table的類與之對應

每個類里邊一般都有以下3個重要成員:

本標簽的縮進值

輸出本標簽最終字符串的方法, out()

給本標簽添加子標簽的方發(fā), append()

其中append()接收的是子標簽的對象, 在最終調(diào)用$html->out()的時候, 每個子標簽對象里的out()方法會被依次調(diào)用, 縮進值也會從上層類傳遞到最下層類并累加;

另外, 每個類都包含了屬性類(calss attribute ), 每個類的縮進值是從屬性類里繼承而來的, 所以如果修改了屬性類里的縮進量, 所有類的縮進量就跟著改變了

你也可以給標簽類添加一個自己的縮進值來覆蓋統(tǒng)一的縮進值

屬性

我這里的方案是定義一個類(calss attribute ), 里邊有

標簽可能擁有的屬性

對應的setXxx方法

組裝非空的屬性拼成字符串的方法

為了不影響下次顯示, 會有專門的清空方法, 把之前賦值的屬性都清空

這樣的話, 在定義標簽屬性的時候, 需要的就賦上值, 不需要的不賦值就不會在最終的HTML代碼中顯示出來

源碼

地址: 碼云 看其中的test.php文件,是介紹他的用法

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

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

相關文章

  • php生成HTML文件的類

    摘要:目的用生成文檔支持標簽嵌套縮進支持標簽自定義屬性起因這個東西確實也是心血來潮寫的本來打算是輸出片段用的但后來就干脆寫成了一個可以輸出完整的功能我很滿意里邊的實現(xiàn)縮進的機制大家有用到的可以看看現(xiàn)在都是真正的前后端分離了這個東西喜歡就用不喜歡就 目的 用PHP生成HTML文檔, 支持標簽嵌套縮進, 支持標簽自定義屬性 起因 這個東西確實也是心血來潮寫的, 本來打算是輸出HTML片段用的, ...

    freewolf 評論0 收藏0
  • PHP實現(xiàn)markdown文檔管理工具

    摘要:工作后一直在從事開發(fā)從以前的大包大攬到現(xiàn)在的退居服務端寫接口當中接觸過幾個的接口文檔管理工具或系統(tǒng)簡單描述下功能全面而且簡潔有用戶權(quán)限管理功能支持支持導出有多種文檔模板目錄支持兩級折疊功能強大權(quán)限管理郵件提醒全文搜索插件管理等重收費的一個文 工作后一直在從事PHP開發(fā), 從以前的大包大攬到現(xiàn)在的退居服務端寫接口, 當中接觸過幾個的接口文檔管理工具或系統(tǒng), 簡單描述下: showdoc...

    wpw 評論0 收藏0
  • API 教你如何生成可調(diào)試的API文檔

    摘要:本文寫的是什么平時總要寫文檔。所以,我所希望的事,就是在完成代碼后,可以費很少的力氣,就生成一個像上文中所說的可調(diào)試文檔。我們接下來要做兩件事生成文檔文檔是可調(diào)試的文檔。一句話流程點擊生成按鈕,生成類的文檔。 本文寫的是什么? 平時總要寫文檔。不寫,代碼無法維護,所以不得不寫。但是寫文檔費時費力,更可怕的是寫完了讀起來還很費勁,束之高閣,總感覺時間浪費掉了,真是苦不堪言。 一直以來深受...

    KaltZK 評論0 收藏0
  • 從0開始構(gòu)建一個屬于你自己的PHP框架

    摘要:如何構(gòu)建一個自己的框架為什么我們要去構(gòu)建一個自己的框架可能絕大多數(shù)的人都會說市面上已經(jīng)那么多的框架了,還造什么輪子。 showImg(https://segmentfault.com/img/bVNg9F?w=500&h=500); 如何構(gòu)建一個自己的PHP框架 為什么我們要去構(gòu)建一個自己的PHP框架?可能絕大多數(shù)的人都會說市面上已經(jīng)那么多的框架了,還造什么輪子?。我的觀點造輪子不是目...

    vpants 評論0 收藏0
  • 終于不再苦逼地寫文檔了!教你如何生成可調(diào)試的API文檔

    摘要:本文寫的是什么平時總要寫文檔。所以,我所希望的事,就是在完成代碼后,可以費很少的力氣,就生成一個像上文中所說的可調(diào)試文檔。我們接下來要做兩件事生成文檔文檔是可調(diào)試的文檔。一句話流程點擊生成按鈕,生成類的文檔。 本文寫的是什么? 平時總要寫文檔。不寫,代碼無法維護,所以不得不寫。但是寫文檔費時費力,更可怕的是寫完了讀起來還很費勁,束之高閣,總感覺時間浪費掉了,真是苦不堪言。 一直以來深受...

    SegmentFault 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<