Maison  >  Article  >  cadre php  >  Comment faire fonctionner le moteur de modèles dans ThinkPHP6 ?

Comment faire fonctionner le moteur de modèles dans ThinkPHP6 ?

WBOY
WBOYoriginal
2023-06-12 09:21:091432parcourir

Dans ThinkPHP6, le moteur de modèles est un élément très important, il peut nous aider à restituer les vues et à afficher les données plus efficacement. Cet article explique comment utiliser le moteur de modèles dans ThinkPHP6.

1. Connaissance de base du moteur de modèles

  1. Définition du moteur de modèles

Un moteur de modèles est un outil qui convertit les données en HTML. Sa fonction principale est de séparer les vues et la logique métier. Normalement, nous traitons les données et les vues séparément, puis combinons les deux via un moteur de modèles et enfin les présentons à l'utilisateur.

  1. Classification des moteurs de modèles

Dans ThinkPHP6, les moteurs de modèles sont principalement divisés en deux types : l'un est un moteur de modèles basé sur PHP (comme Smarty, Blade, etc.), et l'autre est un moteur de modèles basé sur syntaxe native.

  1. Avantages du moteur de modèles

Le moteur de modèles peut nous aider à séparer les vues et la logique métier, à améliorer la maintenabilité et la lisibilité du code, et peut rapidement modifier le style de mise en page et améliorer l'efficacité du développement.

2. Fonctionnement du moteur de modèle dans ThinkPHP6

  1. Création de fichiers modèles

Dans ThinkPHP6, nous pouvons créer rapidement un fichier modèle via la commande suivante :

php think make:view Index/index

où Index représente le nom du contrôleur et index représente le nom de la méthode. Après avoir exécuté cette commande, un répertoire Index sera automatiquement généré dans le répertoire de l'application, et un fichier index.html sera créé dans ce répertoire.

  1. Écrire des fichiers modèles

Après avoir créé le fichier modèle, nous pouvons écrire du HTML, CSS, JavaScript et d'autres codes selon nos besoins. Dans le fichier modèle, les données peuvent également être intégrées via la syntaxe du moteur de modèle.

Par exemple :

<html>
    <head>
        <title>用户列表</title>
    </head>
    <body>
        <table>
            <thead>
                <tr>
                    <th>编号</th>
                    <th>用户名</th>
                    <th>邮箱</th>
                    <th>注册时间</th>
                </tr>
            </thead>
            <tbody>
                <?php foreach($users as $user): ?>
                <tr>
                    <td><?php echo $user['id']; ?></td>
                    <td><?php echo $user['username']; ?></td>
                    <td><?php echo $user['email']; ?></td>
                    <td><?php echo $user['create_time']; ?></td>
                </tr>
                <?php endforeach; ?>
            </tbody>
        </table>
    </body>
</html>

Dans le code ci-dessus, nous utilisons l'instruction de boucle foreach de PHP pour parcourir les données de la liste d'utilisateurs et restituer les données dans la page HTML.

  1. Assignation et utilisation des variables de modèle

Dans ThinkPHP6, nous pouvons utiliser la méthode d'affectation dans le contrôleur pour définir les variables du fichier modèle.

Par exemple :

public function index()
{
    // 获取用户数据
    $users = Db::name('user')->select();

    // 设置模板变量
    $this->assign('users', $users);

    // 渲染模板输出
    return $this->view->fetch();
}

Dans le code ci-dessus, nous obtenons d'abord les données utilisateur via la méthode Db::name('user')->select(), puis définissons les données via la méthode $this-> assign() dans les variables du modèle. Enfin, le fichier modèle est rendu dans une page HTML via la méthode return $this->view->fetch() et est envoyé au navigateur.

Dans le fichier modèle, vous pouvez obtenir la valeur de variable spécifiée via la syntaxe {{$variable name}}.

Par exemple :

@foreach($users as $user)
<tr>
    <td>{{$user['id']}}</td>
    <td>{{$user['username']}}</td>
    <td>{{$user['email']}}</td>
    <td>{{$user['create_time']}}</td>
</tr>
@endforeach

Dans le code ci-dessus, nous utilisons la syntaxe {{$}} pour obtenir la valeur correspondante dans les données utilisateur et l'afficher dans la page HTML.

  1. Mise en œuvre de la mise en page du modèle

Dans le développement réel, nous extrayons généralement le code commun (tel que l'en-tête, la queue, la barre latérale, etc.) dans toutes les mises en page pour le réutiliser dans d'autres pages.

Dans ThinkPHP6, nous pouvons implémenter cette fonction en utilisant un modèle de mise en page. Les opérations spécifiques sont les suivantes :

1) Créez un répertoire de mise en page dans le répertoire de l'application et créez un fichier base.html dans ce répertoire.

2) Définissez la mise en page dans le fichier base.html, comme l'en-tête, la queue et d'autres codes courants.

Par exemple :

<!DOCTYPE html>
<html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>{{$title}}</title>
    </head>
    <body>
        <header>
            <!-- 头部代码 -->
        </header>
        <main>
            <!-- 主体代码 -->
        </main>
        <footer>
            <!-- 底部代码 -->
        </footer>
    </body>
</html>

Dans le code ci-dessus, nous définissons la mise en page de base de la page HTML et utilisons la syntaxe {{$}} pour obtenir la valeur de la variable.

3) Utilisez la syntaxe d'extension et de section dans d'autres fichiers modèles pour hériter et utiliser des fichiers de mise en page publics.

Par exemple :

@extends('layout/base')

@section('content')
    <table>
        <thead>
            <tr>
                <th>编号</th>
                <th>用户名</th>
                <th>邮箱</th>
                <th>注册时间</th>
            </tr>
        </thead>
        <tbody>
            @foreach($users as $user)
            <tr>
                <td>{{$user['id']}}</td>
                <td>{{$user['username']}}</td>
                <td>{{$user['email']}}</td>
                <td>{{$user['create_time']}}</td>
            </tr>
            @endforeach
        </tbody>
    </table>
@endsection

Dans le code ci-dessus, nous utilisons d'abord la syntaxe @extends pour hériter du fichier de mise en page public, puis utilisons la syntaxe @section et @endsection pour remplacer et étendre le contenu du modèle.

Conclusion

Grâce à l'introduction de cet article, les lecteurs devraient avoir compris comment faire fonctionner le moteur de modèles dans ThinkPHP6, y compris la création de fichiers modèles, l'affectation et l'utilisation de variables de modèle, la mise en œuvre de la mise en page des modèles, etc. Le moteur de modèles est une technologie importante dans le développement Web. La maîtrise de cette technologie peut améliorer l'efficacité du développement et la maintenabilité du code.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn