ホームページ  >  記事  >  バックエンド開発  >  phpを使用してHTMLファイルを生成するクラス

phpを使用してHTMLファイルを生成するクラス

藏色散人
藏色散人転載
2019-10-11 13:24:493152ブラウズ

目的

PHP を使用して HTML ドキュメントを生成し、ラベルのネストとインデントをサポートし、ラベルのカスタム属性をサポートします

原因

これは確かに気まぐれに書かれたものです。当初は HTML の断片を出力することを目的としていたのですが、後に完全な HTML を出力できる関数として単純に書かれました;

インデントの仕組みには非常に満足していますこれで、フロントエンドとバックエンドが完全に分離されました (vue、nodejs、webpack...)。次の場合はこれを使用してください。気に入ったら、気に入らなかったら忘れてください~

サポートされているタグ

html、head、meta、title、body、input、select/option、 form、table、div、comments、カスタム タグ (ペア タグで表示)、および多くの属性 (以下で紹介)

実装

全体

1. 各タグは、タグ などのクラスに対応しており、このタグは html

2 というクラスに対応しています。有用な属性はすべて次のとおりです。値が割り当てられた属性

ネストされたインデント

テーブル タグなどのタグごとにクラスを設計しました。これには table というクラスがあります

に対応して、各クラスには一般に次の 3 つの重要なメンバーがあります:

1. このタグのインデント値

2.このタグの最後の文字列を出力するメソッド、 out()

3. このタグにサブタグを追加するには、 append()

ここで、 append() はサブタグのオブジェクトを受け取り、最後に $html-> を呼び出します。out() を実行すると、各サブラベル オブジェクトの out() メソッドが順番に呼び出され、インデント値も上位クラスから下位クラスに渡されて蓄積されます。

さらに、各クラスには属性クラス (calss 属性) が含まれています。各クラスのインデント値は属性クラスから継承されるため、属性クラスのインデントが変更されると、それに応じてすべてのクラスのインデントも変更されます

独自のインデント値をラベル クラスに追加して、統一されたインデント値をオーバーライドすることもできます。

Attribute

ここでの私の解決策は、クラスを定義することです。 (calss 属性)、これには

1. タグが持つことができる属性

2. 対応する setXxx メソッド

3. 空でない属性を文字列に組み立てる Method

4. 次の表示に影響を与えないように、以前に割り当てられたすべての属性をクリアするための特別なクリア方法があります

この場合、ラベル属性を定義するときに必要なもの値。必要がない場合に値を割り当てないと、最終的な HTML コードには表示されません。

ソース コード

アドレス:

code云

test.php ファイルを見て、その使い方を紹介します。 PHP 関連の知識の詳細については、

PHP 中国語 Web サイト

をご覧ください。

以上がphpを使用してHTMLファイルを生成するクラスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。