Maison >développement back-end >tutoriel php >Classe pour générer des fichiers HTML en utilisant php
Objectif
Utiliser PHP pour générer des documents HTML, prendre en charge l'imbrication et l'indentation des étiquettes, prendre en charge les attributs personnalisés des étiquettes
Cause
Cette chose a en effet été écrite sur un coup de tête. Elle était initialement destinée à générer des fragments HTML, mais plus tard, elle a été simplement écrite comme une fonction capable de générer du HTML complet
Je suis très satisfait du mécanisme d'indentation à l'intérieur ; . , si vous le trouvez utile, vous pouvez le consulter
ps De nos jours, le front-end et le back-end sont vraiment séparés (vue, nodejs, webpack...), utilisez simplement ce truc si vous le trouvez. aimez-le, oubliez-le si vous ne l'aimez pas ~
Balises prises en charge
html, head, meta, title, body, input, select/option, form , table, div, commentaires et balises personnalisées (apparaissant par paires), ainsi que de nombreux attributs (introduits ci-dessous)
Mise en œuvre
Global
1. Chaque balise correspond à une classe, comme la balise , qui correspond à une classe appelée html
2. J'ai mis tous les attributs utilisés dans les balises. dans une classe et fourni des méthodes pour les obtenir. Attributs attribués
Indentation imbriquée
J'ai conçu une classe pour chaque balise, comme la balise table, et il y en a. une classe appelée table avec correspondant à
, chaque classe a généralement les trois membres importants suivants :
1 La valeur d'indentation de cette balise
2. produisant la chaîne finale de cette balise, out()
3. Pour ajouter une sous-balise à cette balise, append()
où append() reçoit l'objet de la sous-balise, et appelle enfin $html-> ;Lorsque out(), la méthode out() dans chaque objet de sous-étiquette sera appelée dans l'ordre, et la valeur d'indentation sera également transmise de la classe supérieure à la classe inférieure et accumulée ;
De plus, chaque classe contient des classes d'attributs (attribut calss). La valeur d'indentation de chaque classe est héritée de la classe d'attribut, donc si l'indentation dans la classe d'attribut est modifiée, l'indentation de toutes les classes changera en conséquence
Vous pouvez également ajouter votre propre valeur d'indentation à la classe d'étiquette pour remplacer la valeur d'indentation unifiée
Attribut
Ma solution ici est de définir une classe (calss attribut), qui contient
1. Attributs que les balises peuvent avoir
2. Méthode setXxx correspondante
3. Assemblez des attributs non vides pour former une chaîne Méthode
.4. Afin de ne pas affecter l'affichage suivant, il y aura une méthode d'effacement spéciale pour effacer tous les attributs précédemment attribués
Dans ce cas, lors de la définition des attributs de l'étiquette, il suffit d'attribuer une valeur. . Si vous n'attribuez pas une valeur qui n'est pas nécessaire, elle ne sera pas affichée dans le code HTML final
Code source
Adresse : Code Cloud Regardez le. test.php, consiste à présenter son utilisation.
Pour plus de connaissances sur PHP, veuillez visiter le Site Web PHP chinois !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!