php如何產生HTML檔案的類?php產生html檔案類的方法

來源:互聯網
上載者:User
本篇文章給大家帶來的內容是關於php如何產生HTML檔案的類?php產生html檔案類的方法,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所協助。

用PHP產生HTML文檔, 支援標籤嵌套縮排, 支援標籤自訂屬性

起因

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

支援的標籤

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

實現

整體

  1. 每個標籤都對應一個類, 比如 標籤<html>, 對應了一個叫html的類

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

嵌套縮排

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

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

  1. 本標籤的縮排值

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

  3. 給本標籤添加子標籤的方發, append()

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

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

你也可以給標籤類添加一個自己的縮排值來覆蓋統一的縮排值

屬性

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

  1. 標籤可能擁有的屬性

  2. 對應的setXxx方法

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

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

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.