Maison  >  Article  >  développement back-end  >  Une introduction à la manière de faire en sorte que le moteur de modèles de ThinkPHP atteigne une efficacité optimale

Une introduction à la manière de faire en sorte que le moteur de modèles de ThinkPHP atteigne une efficacité optimale

黄舟
黄舟original
2017-03-17 09:31:251310parcourir

Cet article présente principalement la méthode permettant d'obtenir la meilleure efficacité du moteur de modèles de ThinkPHP. Il analyse en détail l'utilisation du moteur de modèles thinkPHP et l'utilisation de la syntaxe php originale sous forme d'exemples. . Problèmes d'efficacité, les amis dans le besoin peuvent se référer à

Cet article analyse la méthode pour obtenir la meilleure efficacité du moteur de modèles de ThinkPHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Par défaut, le moteur de modèle utilisé par le système ThinkPHP framework par défaut est le modèle intégré moteur. Le moteur de modèles intégré prend en charge l'utilisation mixte du code natif PHP et des balises de modèle dans les fichiers de modèle.

La documentation officielle de développement de ThinkPHP indique : Les performances de ce moteur de modèles intégré par défaut sont efficaces, mais elles ne sont pas optimales. Pour obtenir des performances optimales du moteur de modèles, il est nécessaire d'utiliser PHP lui-même comme moteur de modèles .

Utiliser PHP lui-même comme moteur de modèle est en fait très simple. Il suffit de le configurer dans le fichier de configuration du projet Conf/config.php :

'TMPL_ENGINE_TYPE' =>'PHP'

Utiliser PHP lui-même. en tant que moteur de modèle. Une fois le moteur de modèle installé, cela signifie que vous ne pourrez plus utiliser les balises de modèle du moteur de modèle utilisées par le système sur le fichier modèle. Vous ne pouvez utiliser que le code PHP d'origine.

Ce qui suit montre à travers des exemples comment utiliser le code php sur le modèle après avoir utilisé PHP lui-même comme moteur de modèle.

Téléchargez le programme de blog wblog3.1.2_3 et installez-le (vous pouvez également créer votre propre projet)

Configurez d'abord le fichier W3noteConfconfig.php du projet et ajoutez un élément de configuration :

Effacez ensuite les codes du contrôleur W3noteLibActionIndexAction.class.php et du modèle correspondant W3noteTplIndexindex.html à différentes fins de débogage.

D'accord, le travail de base a été effectué. Vient ensuite l'enregistrement de débogage :

1 Utilisez le code natif PHP sur le modèle

IndexAction. Code du contrôleur class.php

<?php
class IndexAction extends Action {
 public function index(){
  $this->display();
 }
}

Code du modèle index.html :

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>使用原生态的php代码</title>
</head>
<body>
 <?php
 $title= &#39;网志博客&#39;;
 echo $title;//输出变量
 ?>
</body>
</html>

Sortie :

$title=&#39;网志博客&#39;; echo $title;

sur le modèle Après avoir remplacé "< ;?php ?>" avec 453490439c74a929a2834bf146aa58a45c6c8f72abb80ea0f248b656fc7e404b, la variable ne peut pas être interprétée, indiquant que la balise 453490439c74a929a2834bf146aa58a45c6c8f72abb80ea0f248b656fc7e404b n'est pas supportée.

2. Utilisez l'instruction query directement sur le modèle

Le code du contrôleur est le même que 1 et le code du modèle est la suivante

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>使用原生态的php代码</title>
</head>
<body>
 <?php
 $vo=M(&#39;News&#39;)->find();
 echo $vo[&#39;title&#39;];
 ?>
</body>
</html>

Sortie :

欢迎使用WBlog博客程序

Le contrôleur semble ne rien faire lorsqu'il reste de côté. Cela peut être écrit comme ça sur le modèle. C'est tellement flexible !

3. Appelez les résultats de la requête attribués par le contrôleur sur le modèle

Code du contrôleur IndexAction.class.php

<?php class IndexAction extends Action {
 public function index(){
  $vo=M(&#39;News&#39;)->find();
  $this->assign(&#39;vo&#39;, $vo);
  $this->display();
 }
}

index du modèle. Code HTML

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>使用原生态的php代码</title>
</head>
<body>
 <?php
 echo $vo[&#39;title&#39;];
 ?>
</body>
</html>

sortie :

欢迎使用WBlog博客程序

Cette situation n'est pas différente du moteur de modèle utilisé par le système par défaut.

4. Appelez la fonction du projet sur la fonction de bibliothèque du modèle

Le code du contrôleur est le même que 1 et le code du modèle est le même. suit

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>使用原生态的php代码</title>
</head>
<body>
 <?php
 echo pwdHash(&#39;abc&#39;);//调用项目\W3note\Common\common.php函数库的加密函数pwdHash()
 ?>
</body>
</html>

Sortie :

af10ef457ed637b91955369297b8e640

Abandonnant la syntaxe de balise maladroite (relativement parlant) du moteur de modèle par défaut du système, l'appel de fonction est si simple !

Résumé : L'utilisation de PHP lui-même comme moteur de modèle dans ThinkPHP peut maximiser les performances du moteur de modèle. Vous devez utiliser la syntaxe PHP d'origine et la méthode d'écriture sur le modèle. C'est relativement vivant, mais la balise de modèle du moteur de modèles par défaut du système perdra sa fonction.


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