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
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~
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)
Each tag corresponds to a class, such as the tag, which corresponds to a class called html
Useful in tags I put all the attributes into a class, and provided a method to get the assigned attributes
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:
The indent value of this tag
The method of outputting the final string of this tag, out()
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
My solution here is to define a class (calss attribute) with
Attributes that tags may have
Corresponding setXxx method
Method for assembling non-empty attributes into a string
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!