Maison >développement back-end >Problème PHP >Quel est le principe du moteur de template php ?
Le principe du moteur de template PHP est une solution efficace pour séparer la couche vue et la couche modèle, permettant une meilleure division du travail et une meilleure collaboration entre le front et le back end. Il vient du modèle MVC classique, qui. est, [model layer-view layer-control [Controller Model], qui sépare les codes M et V, afin que le même programme puisse utiliser des représentations différentes.
Le principe du moteur de template php est :
1. >
L'idée du moteur de modèles vient du modèle classique, c'est-à-dire couche modèle - couche vue - modèle contrôleur. MVC existait à l'origine dans les programmes de bureau, M fait référence au modèle de données, V fait référence à l'interface utilisateur et C fait référence au contrôleur. Le but de l'utilisation de MVC est de séparer les codes M et V afin que le même programme puisse utiliser différentes formes de présentation. MVC
et l'application généralisée de la bibliothèque Jquery ont amélioré les premières écritures mixtes de codes HTML, Javascript et PHP. L'application de la technologie AJAX sépare la demande, la génération et l'affichage des données, et favorise la séparation de la couche de présentation (V) et de la couche de code. AJAX
2 L'idée de superposition de code
En tant que langage de script léger et flexible, PHP est très adapté au développement Web, qui a des cycles de développement courts, des changements rapides dans les exigences et met l'accent sur les besoins de l'utilisateur et de l'entreprise. Lorsque PHP a été développé au début, il s'agissait généralement d'un mélange de code PHP et de HTML. Les opérations de base de données, les jugements logiques, la génération de code HTML et même le code Javascript peuvent être vus partout dans le code. Pour les petits projets, cette méthode de codage peut rapidement répondre aux exigences. Cependant, à mesure que le projet se développera, la logique frontale deviendra de plus en plus complexe. Cette méthode d'écriture complètement mixte entraînera inévitablement des problèmes tels qu'une mauvaise lisibilité du code et des difficultés de maintenance ultérieure. Dans les premiers jours du développement PHP, on pourrait écrire :<html> <head> <meta http-equiv="content-type"content="text/html;charset=utf-8"> <title>最原始的PHP编码风格 - 李苦李</title> </head> <body> <table> <tr> <td>ID</td> <td>姓名</td> </tr> <?php mysql_connect("localhost","admin","password")or die("Could not connect:".mysql_error()); mysql_select_db("user_db"); $result= mysql_query("select id,username from user"); while($row= mysql_fetch_array($result)) { echo"<tr><td>".$row['id']."</td><td>" .$row['username']."</td></tr>"; } mysql_free_result($result); ?> </table> <?php //其他功能模块 ?> </body> </html>De toute évidence, le code ci-dessus est extrêmement médiocre en termes de lisibilité, de maintenabilité et de réutilisation du code. Vous devez trouver un moyen de séparer la génération et l'affichage des données. Généralement, la façon la plus simple de penser est de placer le code qui interagit avec la base de données dans un fichier séparé et la partie qui affiche les données dans un autre fichier. Créez un nouveau fichier
et récupérez les données, comme indiqué dans le code suivant : data.php
<?php mysql_connect("localhost","admin","password")or die("Could not connect:".mysql_error()); mysql_select_db("user_db"); $result= mysql_query("select id,username from user"); while($row= mysql_fetch_array($result)) { $data[] =$row; } mysql_free_result($result); ?>Aucune de ces deux méthodes ne parvient à séparer le code PHP et le code HTML, mais la deuxième méthode donne de meilleurs résultats que la première méthode Séparation de l'acquisition des données et de la présentation des données. Dans la deuxième méthode de traitement, l'un des fichiers est spécifiquement chargé d'interagir avec la base de données, d'obtenir et de traiter les données. Ensuite, il est transmis à un autre fichier pour afficher les données. Ce fichier responsable de l'affichage n'effectue que quelques opérations logiques simples, telles que le bouclage, le jugement, la sortie, etc. Évidemment, la deuxième méthode de traitement est plus facile à maintenir que la première méthode de traitement. Pour la deuxième méthode de traitement, nous pouvons également utiliser la syntaxe HereDoc pour la rendre plus concise. Le code est le suivant :
<?php foreach($dataas$value) { echo<<< TM <tr><td>$value[id]</td><td>$value[username]</td></tr>; TM; } ?>La deuxième méthode de traitement est le mécanisme de modèle PHP d'origine, qui est. Le mécanisme de modèle actuellement utilisé par certains programmes PHP se caractérise par sa simplicité, sa flexibilité, sa conformité à la syntaxe et aux habitudes d'utilisation de PHP et son faible coût d'apprentissage. L'inconvénient est qu'il ne peut pas implémenter certaines fonctions avancées, telles que la configurabilité, la mise en cache, la création de fichiers modèles indépendants de la syntaxe PHP, etc. J'écrirai ceci ici aujourd'hui et nous résoudrons ces problèmes les uns après les autres dans les articles suivants.
Recommandations d'apprentissage associées :
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!