検索

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

Apr 19, 2018 pm 03:10 PM
phpsmartyノート

この記事で紹介した内容は、ある程度の参考になる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:

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

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

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

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

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 コメントは、 とは異なり、テンプレート ファイルの最終出力には表示されません (注釈: 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 までご連絡ください。
PHPアプリケーションをより速くする方法PHPアプリケーションをより速くする方法May 12, 2025 am 12:12 AM

tomakephpapplicationsfaster、followthesesteps:1)useopcodecachinglikeopcacheTostoredscriptbytecode.2)最小化abasequeriesecachingingindexing.3)leveragephp7機能forbettercodeefficiency.4)

PHP依存性インジェクション:コードのテスト可能性を改善しますPHP依存性インジェクション:コードのテスト可能性を改善しますMay 12, 2025 am 12:03 AM

依存性注入(DI)は、明示的に推移的な依存関係によりPHPコードのテスト可能性を大幅に改善します。 1)DI分離クラスと特定の実装により、テストとメンテナンスが柔軟になります。 2)3つのタイプのうち、コンストラクターは、状態を一貫性に保つために明示的な式依存性を注入します。 3)DIコンテナを使用して複雑な依存関係を管理し、コードの品質と開発効率を向上させます。

PHPパフォーマンスの最適化:データベースクエリの最適化PHPパフォーマンスの最適化:データベースクエリの最適化May 12, 2025 am 12:02 AM

DatabaseQueryoptimizationInpholvesseveralstrategESTOEnhancePerformance.1)selectonlynlynlyndorycolumnStoredatedataTransfer.2)useindexingtospeedupdataretrieval.3)revenmecrycachingtostoreres sultsoffrequent queries.4)

簡単なガイド:PHPスクリプトで電子メールを送信します簡単なガイド:PHPスクリプトで電子メールを送信しますMay 12, 2025 am 12:02 AM

phpisusededemingemailsduetoitsbuilt-inmail()functionandsupportiveLibrarieslikephpmailerandswiftmailer.1)usethemail()functionforbasicemails、butithaslimitations.2)emploadforadvancedfeatureSlikelikelivableabableabuses.3)雇用

PHPパフォーマンス:ボトルネックの識別と修正PHPパフォーマンス:ボトルネックの識別と修正May 11, 2025 am 12:13 AM

PHPパフォーマンスボトルネックは、次の手順で解決できます。1)パフォーマンス分析にXdebugまたはBlackfireを使用して問題を見つける。 2)データベースクエリを最適化し、APCUなどのキャッシュを使用します。 3)array_filterなどの効率的な関数を使用して、配列操作を最適化します。 4)bytecodeキャッシュ用のopcacheを構成します。 5)HTTP要求の削減や写真の最適化など、フロントエンドを最適化します。 6)パフォーマンスを継続的に監視および最適化します。これらの方法により、PHPアプリケーションのパフォーマンスを大幅に改善できます。

PHPの依存関係注射:簡単な要約PHPの依存関係注射:簡単な要約May 11, 2025 am 12:09 AM

依存関係(di)inphpisadesignpatternativats anducesclassodulencies、拡張測定性、テスト可能性、および維持可能性。

PHPパフォーマンスの向上:キャッシュ戦略と技術PHPパフォーマンスの向上:キャッシュ戦略と技術May 11, 2025 am 12:08 AM

cachingemprovesppperformancebystring of computationsorquickretrieval、還元装置の削減は、reducingerloadendenhancersponseTimes.efcectivestrategiesInclude:1)opcodecaching、compiledphpscriptsinmemorytoskipcompilation;

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。