ホームページ  >  記事  >  バックエンド開発  >  ThinkPHP のテンプレート エンジンを最適な効率で実現する方法の紹介

ThinkPHP のテンプレート エンジンを最適な効率で実現する方法の紹介

黄舟
黄舟オリジナル
2017-03-17 09:31:251337ブラウズ

この記事では、ThinkPHP の テンプレート エンジン を最大限に効率化する方法を主に紹介し、thinkPHP テンプレート エンジンの使用方法と、それを必要とするオリジナルの php 構文 を使用する際の効率の問題について詳しく分析します。この記事を参照してください

この記事では、ThinkPHP のテンプレート エンジンの最高の効率を達成する方法を分析します。参考のために皆さんと共有してください。詳細は次のとおりです:

デフォルトでは、ThinkPHP フレームワークシステムによって使用されるテンプレート エンジンは、デフォルトで組み込みのテンプレート エンジンです。組み込みのテンプレート エンジンは、テンプレート ファイル内での PHP ネイティブ コードと テンプレート タグ の混合使用をサポートしています。

ThinkPHP の公式開発ドキュメントには、このデフォルトの組み込みテンプレート エンジンのパフォーマンスは効率的ですが、最適ではありません。テンプレートエンジンの最適なパフォーマンスを実現するには、PHP自体をテンプレートエンジンとして使用する必要があります

PHP 自体をテンプレート エンジンとして使用するのは、実際には非常に簡単です。プロジェクトの 設定ファイルConf/config.php:

'TMPL_ENGINE_TYPE' =>'PHP'

で設定するだけで済みます。テンプレート ファイル内で使用することはできなくなり、システムがデフォルトで使用するテンプレート エンジンのテンプレート タグを使用できるようになります。オリジナルの PHP コードのみを使用できます。

以下では、例を使用して、PHP 自体をテンプレート エンジンとして使用した後、テンプレート上で PHP コードを操作する方法を示します。

wblog3.1.2_3 ブログ プログラムをダウンロードしてインストールします (独自のプロジェクトを構築することもできます)

最初にプロジェクト W3noteConfconfig.php ファイルを構成して構成項目を追加します:

次にコントローラー W3noteLibActionIndexAction.class.php を追加しますおよび対応するテンプレート W3noteTplIndexindex.html のコードは、さまざまなデバッグ目的のためにクリアされます。

基本的な作業は完了しました。次はデバッグ記録です:

1. テンプレートで php オリジナルのエコロジー コードを使用します

IndexAction.class.php コントローラー コード

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

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>

出力:

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

テンプレートの「bb9bd6d87db7f8730c53cb084e6b4d2d」を 453490439c74a929a2834bf146aa58a45c6c8f72abb80ea0f248b656fc7e404b に置き換えると、結果は変数を説明できず、453490439c74a929a2834bf146aa58a4< ではないことを示します。 /php> タグがサポートされています。

2. queryステートメントをテンプレート上で直接使用します

コントローラーのコードは1と同じで、テンプレートのコードは次のとおりです

<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>

出力:

欢迎使用WBlog博客程序

コントローラーは何も実行していないように見えます脇に置いておきますが、テンプレート上ではこんな風に書くこともできるので、とても柔軟です!

3. テンプレート上のコントローラーによって割り当てられたクエリ結果を呼び出します

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();
 }
}

template Index.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>

出力:

欢迎使用WBlog博客程序

この場合、システムはそれを使用しますデフォルトでは、テンプレート エンジンに関しても記述方法は変わりません。

4. テンプレート上のプロジェクト関数ライブラリ関数を呼び出します

コントローラーコードは1と同じで、テンプレートコードは次のとおりです

<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>

出力:

af10ef457ed637b91955369297b8e640

システムデフォルトテンプレートのラベルを破棄しましたエンジンは(比較的に)不器用です。構文、関数呼び出しはとても簡単です。

概要: ThinkPHP で PHP 自体をテンプレート エンジンとして使用すると、テンプレート エンジンのパフォーマンスを最大化できます。テンプレートの記述方法はより活発になりますが、システムのデフォルトのテンプレート エンジンが使用されます。テンプレート ラベルは効果がありません。


以上がThinkPHP のテンプレート エンジンを最適な効率で実現する方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。