Home  >  Article  >  Backend Development  >  How does php generate classes for HTML files? How to generate html file class in php

How does php generate classes for HTML files? How to generate html file class in php

不言
不言Original
2018-08-10 13:48:262161browse

The content of this article is about how PHP generates classes for HTML files? The method of generating html file classes in PHP has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

Use PHP to generate HTML documents, support nested indentation of tags, and support custom attributes of tags

Cause

This thing was indeed written on a whim, originally intended to output HTML It was used for snippets, but later it was simply written as a function that can output complete HTML;
I am very satisfied with the indentation mechanism inside. If you find it useful, you can take a look
p.s. Now they are all real front-end and back-end Separated (vue, nodejs, webpack...), use this thing if you like it, forget it if you don't like it~

Supported tags

html, head, meta, title, body, input , select/option, form, table, p, comments, and custom tags (tags that appear in pairs), as well as a lot of attributes (introduced below)

implementation

Overall

  1. Each tag corresponds to a class, such as the tag , which corresponds to a class called html

  2. Useful in tags I put all the attributes into a class, and provided a method to get the assigned attributes

Nested indent

I put each tag After designing a class, such as the table tag, there is a class called table corresponding to it

Each class generally has the following three important members:

  1. The indent value of this tag

  2. The method of outputting the final string of this tag, out()

  3. The method of adding sub-tags to this tag Send, append()

where append() receives the object of the sub-tag. When $html->out() is finally called, the out in each sub-tag object () method will be called in sequence, and the indentation value will also be passed from the upper class to the lowermost class and accumulated;

In addition, each class contains an attribute class (calss attribute), and the indentation value of each class The indent value is inherited from the attribute class, so if you modify the indentation in the attribute class, the indentation of all classes will change accordingly

You can also add your own to the label class Indent value to cover the unified indent value

Attribute

My solution here is to define a class (calss attribute) with

  1. Attributes that tags may have

  2. Corresponding setXxx method

  3. Method for assembling non-empty attributes into a string

  4. In order not to affect the next display, there will be a special clearing method to clear all previously assigned attributes

In this case, when defining the label attribute, you need If necessary, assign a value. If you do not assign a value if it is not needed, it will not be displayed in the final HTML code

Recommended related articles:

Abstract methods, abstract classes and interfaces in PHP A brief introduction

thinkphp template how to determine whether mobile WeChat payment or WeChat scan code payment

php non-forwarding call and forwarding call code Example

The above is the detailed content of How does php generate classes for HTML files? How to generate html file class in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn