<?php class Parser { private $_tpl; public function __construct($_tplFile) { if (! $this->_tpl = file_get_contents($_tplFile)) { exit('ERROR:模版文件讀取錯誤'); } } private function parvar() { $_patten = '/<!--\s+\{$([\w]+)\}\s+-->/'; if (preg_match($_patten,$this->_tpl)) { $this->_tpl = preg_replace($_patten, "<?php echo $this->_vars[''];?>",$this->_tpl); } } private function parif(){ $_pattenif = '/<!--\s+\{if\s+$([\w]+)\}\s+-->/'; $_pattenElse = '/<!--\s+\{else\}\s+-->/'; $_pattenEndif = '/<!--\s+\{\/if\}\s+-->/'; if (preg_match($_pattenif,$this->_tpl)) { if (preg_match($_pattenEndif,$this->_tpl)) { $this->_tpl = preg_replace($_pattenif,"<?php if ($this->_vars['']){?>",$this->_tpl); $this->_tpl = preg_replace($_pattenEndif,"<?php } ?>",$this->_tpl); if (preg_match($_pattenElse,$this->_tpl)) { $this->_tpl = preg_replace($_pattenElse,"<?php }else{?>",$this->_tpl); } }else{ echo 'ERROR:IF語句沒有關(guān)閉!'; } } }
Après avoir re?u le contenu du fichier modèle, construisez une méthode, obtenez le contenu du fichier modèle et analysez-le, utilisez des variables ordinaires pour analyser l'instruction IF, puis analysez le fichier modèle pour générer un fichier compilé.
Toutes les ressources de ce site proviennent d'internautes ou sont réimprimées par les principaux sites de téléchargement. Veuillez vérifier vous-même l'intégrité du logiciel?! Toutes les ressources de ce site sont uniquement à titre de référence d'apprentissage. Merci de ne pas les utiliser à des fins commerciales. Sinon, vous serez responsable de toutes les conséquences ! En cas d'infraction, veuillez nous contacter pour la supprimer. Coordonnées : admin@php.cn
Article connexe

09 Nov 2024
Pourquoi certaines méthodes de classe PHP commencent-elles par un trait de soulignement ? En explorant les bibliothèques PHP, vous avez peut-être remarqué que certains développeurs préfèrent...

22 Nov 2024
Classe de modèle avec classe basée sur un modèle ami?: déchiffrement des mécanismes Dans ce scénario, vous définissez un modèle de classe d'arbre binaire (BT) et un...

11 Nov 2024
Vérités cachées?: le principal trait de soulignement dans les méthodes de classe PHPEn parcourant les bibliothèques PHP, on peut tomber sur des méthodes de classe préfixées par un...

09 Dec 2024
Typedef non reconnu dans le modèle de classe dérivéLors de la déclaration d'un modèle de classe dérivé B qui hérite d'un modèle de classe de base A, il est attendu...

17 Nov 2024
Modèle de classe avec modèle Ami de classe?: Plongez dans la mécaniqueImaginez construire une classe d'arbre binaire (BT) avec une classe d'éléments (BE)...

07 Jul 2025
La spécialisation des modèles de classe est une technique qui fournit des implémentations de modèle de classe complètement différentes pour des types spécifiques. Ses utilisations de base incluent: 1. Optimisation des performances, telles que le contournement de la logique redondante pour des types tels que int, char *; 2. Adaptation de type et manipulation de la logique de type avec de grandes différences; 3. Traitement de compatibilité, tel que le pointeur distinctif et les types de référence. Une spécialisation entièrement spécifie tous les types de paramètres, tandis que la spécialisation partielle ne spécifie que certains paramètres ou contraintes, et ne s'applique qu'aux modèles de classe. Remarque Lors de l'écriture: les corps de classe spécialisés doivent être entièrement définis, évitez les définitions répétées et hiérarchisez la correspondance de la version la plus spécifique.


Outils chauds Tags

Outils chauds

Bibliothèque PHP pour les conteneurs d'injection de dépendances
Bibliothèque PHP pour les conteneurs d'injection de dépendances

Une collection de 50 excellents algorithmes PHP classiques
Algorithme PHP classique, apprenez d'excellentes idées et élargissez votre réflexion

Petite bibliothèque PHP pour optimiser les images
Petite bibliothèque PHP pour optimiser les images
