首頁  >  文章  >  後端開發  >  用php產生HTML檔案的類

用php產生HTML檔案的類

藏色散人
藏色散人轉載
2019-10-11 13:24:493151瀏覽

目的

用PHP產生HTML文件, 支援標籤巢狀縮排, 支援標籤自訂屬性

起因

這個東西確實也是心血來潮寫的, 本來打算是輸出HTML片段用的, 但後來就乾脆寫成了一個可以輸出完整HTML的功能;

我很滿意裡邊的實現縮進的機制, 大家有用到的可以看看

p.s. 現在都是真正的前後端分離了(vue, nodejs, webpack...), 這個東西喜歡就用, 不喜歡就算了~

#支援的標籤

html, head, meta, title, body, input, select/option, form, table, div, 註解, 以及自訂標籤(成對出現的標籤), 還有一大堆屬性(在下邊有介紹)

實作

#整體

1.每個標籤都對應一個類別, 例如標籤, 對應了一個叫html的類別

#2.標籤中有用到的屬性, 我都放到了一個類別中了, 並提供了方法去獲取賦了值的屬性

嵌套縮排

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

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

1.本標籤的縮排值

2.輸出本標籤最終字串的方法, out()

3.為本標籤新增子標籤的方發, append()

其中append()接收的是子標籤的物件, 在最終呼叫$html-> ;out()的時候, 每個子標籤物件裡的out()方法會被依序呼叫, 縮排值也會從上層類別傳遞到最下層類別並累加;

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

你也可以為標籤類別新增一個自己的縮排值來覆寫統一的縮排值

屬性

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

1.標籤可能擁有的屬性

2.對應的setXxx方法

#3.組裝非空的屬性拼成字串的方法

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

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

源碼

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

更多PHP相關知識,請造訪PHP中文網

以上是用php產生HTML檔案的類的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除