ホームページ  >  記事  >  バックエンド開発  >  PHP の Smarty に関する詳細なメモ

PHP の Smarty に関する詳細なメモ

不言
不言オリジナル
2018-04-19 15:10:079758ブラウズ

この記事で紹介した内容は、ある程度の参考になるPHP Smartyのメモですので、必要な方は参考にしてください

1. ディレクトリファイルを設定します。


2. 設定ファイルの設定情報:

これは、index.php の内容である必要があります:



[php]

プレーンコピーを表示


<?php  
    header("content-type:text/html;charset=utf8");  
    include_once("libs/Smarty.class.php"); //包含smarty类文件   
  
    $smarty = new Smarty(); //建立smarty实例对象$smarty   
    $smarty->compile_dir = &#39;./templates_c/&#39;; //设置模板目录 ——这里的文件很重要的,需要写的模板文件  
    $smarty->compile_dir = &#39;./templates_c/&#39;;; //设置编译目录 ——混编文件,自动生成  
    $smarty->cache_dir = &#39;./cache/&#39;; //缓存目录   
    $smarty->cache_lifetime = 0; //缓存时间   
    $smarty->caching = true; //缓存方式   
  
    $smarty->left_delimiter = "{";   
    $smarty->right_delimiter = "}";   
  
    $smarty->assign("name", "注释"); //进行模板变量替换   
    $smarty->display("index.html"); //编译并显示位于./templates下的index.htm模板   
?>


いくつかのルーチンの説明ですが、以下を理解する必要があります:

2.1: include_once ステートメント:

Web サイトにインストールされている Smarty ファイルが現在のファイルにインクルードされるので、インクルードされるパスが正しく記述されている必要があることに注意してください。 2.2: $smarty = new Smarty():

この文は、オブジェクトの単純なインスタンス化である新しい Smarty オブジェクト $smarty を作成します。 2.3: $smarty->templates(""):

この文は、tpl テンプレートを使用する場合の $smarty オブジェクトのパスを指定します。文、Smarty のデフォルトのテンプレート パスは、現在のディレクトリの

templates ディレクトリです。実際に プログラムを作成するときは、この文を指定する必要があります。これも優れたプログラミング スタイルです。

2.4: $smarty->templates_c(""):

この文は、$smarty オブジェクトがコンパイルされるディレクトリを指定します。テンプレート設計の章では、Smarty がコンパイルされたテンプレート言語であること、およびこのディレクトリがテンプレートをコンパイルするディレクトリであることをすでに知っています。サイトが Linux サーバー上にある場合は、必ず確認してください。 teamplates_c で定義されたディレクトリには、書き込み可能および読み取り可能な権限があります。デフォルトでは、そのコンパイルおよび変換ディレクトリは、現在のディレクトリの templates_c です。同じ理由で、それを明示的に書き込みます。 2.5: $smarty->left_delimiter および $smarty->right_delimiter:

は、テンプレート変数を検索するときに左と右の区切り文字を指定します。デフォルトは「{」と「}」ですが、実際には、テンプレートで 3f1c4e4b6b16bbbd69b2ee476dc4f83a を使用する必要があるため、スクリプト内の関数 の定義では必然的に {} が使用されます。ただし、独自の解決策がありますが、これを「{#」と「#}」、「65d5d8bbb2ef9fba51f704b51c728591」、またはその他の識別子として再定義するのが一般的です。注意してください

左と右が同じであることを意味します区切り文字はテンプレートファイルでここで定義されており、各変数は定義と同じ記号を使用する必要があります。たとえば、ここでは「

731cb1dca5eec6fea860a93b1aa60329」、htm として指定されています。プログラムがテンプレート変数を正しく見つけられるように、テンプレートも {$name} を

から f1ae60a094afb5383c24c6d7d49bae7e に変更する必要があります。

2.6: $smarty->cache("./cache"):

は、出力テンプレートファイルをキャッシュする場所をSmartyに指示します。前回の記事で、Smarty の最大の利点はキャッシュできることであることがわかりました。キャッシュを設定するディレクトリは次のとおりです。 デフォルト

は現在のディレクトリ内のキャッシュ ディレクトリであり、linux システムでは、読み取り可能および書き込み可能であることを確認する必要があります。

2.7: $smarty->cache_lifetime = 60 * 60 * 24:

キャッシュが有効な時間は秒単位で計算されます。最初のキャッシュ時間が経過したときに Smarty キャッシュ変数が true に設定されている場合、キャッシュは再構築されます。 その値

が-1の場合、確立されたキャッシュが期限切れにならないことを意味し、0の場合、プログラムが実行されるたびに常にキャッシュが再構築されることを意味します。上記の設定は、cache_lifetime を 1 日に設定することを意味します。

2.8: $smarty->caching = 1:

この属性は、Smarty にキャッシュするかどうか、およびキャッシュする方法を指示します。 3 つの値を取ることができます。0: Smarty のデフォルト値は、テンプレートがキャッシュされないことを意味します。1: は、現在定義されているcache_lifetime を使用してキャッシュを終了するかどうかを決定することを意味します。 Smarty はキャッシュの時間を使用します。作成時に値

cache_lifetime を使用します。キャッシュするかどうかを示すには、true と

false を使用するのが通例です。

2.9: $smarty->assign("name", "zaocha"):

この数値のプロトタイプは assign(string varname,mixed var)、varname はテンプレート 使用されるテンプレート変数。var は、テンプレート変数によって置き換えられる変数 の名前を指します。その 2 番目の元の形式は assign(mixed var) です。このメンバーについては、後で詳しく説明します。以下の例 関数の使用方法、assign は Smarty のコア関数の 1 つで、すべてテンプレート変数の置換です

変更するたびにを使用してください。

2.10: $smarty->display("index.tpl"):

この関数のプロトタイプは、テンプレートを表示するために使用される display(string varname) です。簡単に言うと、分析および処理されたテンプレートが表示されます。ここでテンプレート ファイルへのパスを追加する必要はありません。$smarty-> に既に設定されているファイル名を使用するだけです。テンプレート(文字列パス)が定義されています。

プログラムの実行後、現在のディレクトリにある templates_c ディレクトリとキャッシュ ディレクトリを開くと、以下にいくつかの %% ディレクトリがあることがわかります。これらのディレクトリは

Smarty コンパイル

です。およびキャッシュ ディレクトリはプログラムによって自動的に生成されるため、生成されたこれらのファイルを直接変更しないでください。

3. Smarty のコメント:

退屈なテキスト部分は無視できます: テンプレートのコメントは * で囲まれており、両側のアスタリスクは区切り文字で囲まれています。 {* これはコメントです *} として。 Smarty コメントは、ff5f3991a1a6528fc301a6b4fb036688 とは異なり、テンプレート ファイルの最終出力には表示されません (注釈: HTML コメントはページのソース コードに表示されますが、Smarty コメントは表示されません)。これは非常に便利です。コメントがテンプレート内にのみ存在し、出力ページには誰も表示されないことを想像してください。

直感的に感じてください:



4. 定数:

退屈なテキスト部分無視できます: 設定ファイル変数は、次の値を持たない変数です。ドル記号 $ ですが、変数を # 記号 (#hashmarks#) で囲むか、$smarty.config の形式の変数で囲み​​ます。

直感的に感じてください:



5. 変数:

退屈なテキスト部分は無視できます: テンプレート変数はドル記号 $ で始まり、数字を含めることができます。手紙とアンダースコア、これは php 変数 に非常に似ています。オブジェクトのプロパティやメソッドだけでなく、配列内の数値または数値以外のインデックスも参照できます。


注釈: $abc、$abc123、$abc_123、$abc[1]、$abc['a']、$abc->a、$abc- のような指示に従います。 > ;a() これらのテンプレート変数はすべて有効です。


直感的に感じてください:


変数の出力の前には $ 記号が必要です。 ! ! ! ! ! ! ! ! ! !


6



8. 状態判断



10、セクションループ




11、foreach


12. ファイルの導入により、クラスのオブジェクトが変数の形式になります




13. assign to assign to Smarty template 使用場所:


14. PHP で関数を使用する場合は、第 8 条の変数レギュレーターを参照してください。

1 5. カスタム関数


を使用する 16. 関数関数プラグインの定義と使い方



17. 修飾変数の定義とレギュレーターの使用



18. ブロック機能プラグインの定義と使用

19、forループとwhileループの例



20、imgタグとオプションタグの使用

21 、{ブロック}の使用

関連する推奨事項:

smarty テンプレート エンジン設定ファイルのデータと保持されるデータ

Smarty の注釈と切り捨て関数の詳細な説明

PHP に含まれる Smarty 組み込み関数の詳細な説明


以上がPHP の Smarty に関する詳細なメモの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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