ホームページ  >  記事  >  バックエンド開発  >  PHP(3): Smarty_PHP チュートリアルの使用を開始する

PHP(3): Smarty_PHP チュートリアルの使用を開始する

WBOY
WBOYオリジナル
2016-07-14 10:08:01838ブラウズ

1. スマーティについて

PHP を使用して Web プログラミングを行う場合、問題の 1 つは、php ファイルが html コードと同じくらい長い php コードと混在する可能性があることです。ある時点で、それはあまりきれいではなく、安全でもありません。そして、その作業をバックエンド プログラマーとフロントエンド プログラマーに分けて行うことはできません。したがって、開発プロセスを適切に整理して維持するには、php ロジックを html コードから分離するツールが必要です。そこで、Smarty が登場します。
Smarty は、PHP で書かれた Web テンプレート システムです。 Smarty は主に懸念事項を分離するためのツールとして宣伝されています。[1] Smarty は、区画化を簡素化し、Web ページのプレゼンテーションをバックエンドとは別に変更できるようにすることを目的としています。理想的には、これによりソフトウェアのメンテナンスに関連するコストと労力が軽減されます。
Smarty は、ドキュメント内に特別な Smarty タグを配置することによって Web コンテンツを生成します。これらのタグは処理され、他のコードに置き換えられます。タグは、テンプレートの区切り文字で囲まれた Smarty のディレクティブです。これらのディレクティブは、ドル記号 ($) で示される変数、関数、論理ステートメントまたはループ ステートメントにすることができます。 Smarty を使用すると、PHP プログラマーは Smarty タグを使用してアクセスできるカスタム関数を定義できます。
2. Smarty をセットアップする
ステップ 1: Smarty をダウンロードし、libs フォルダーの名前を変更して、PHP プロジェクトにインポートします。
PHP(3): Smarty_PHP チュートリアルの使用を開始する
ステップ2: Smartyに接続するためのphpファイル(SmartyCon.php)を作成します
[php] plaincopyprint を表示しますか?
/*
* 2013 年 1 月 10 日に作成
* 著者: ニック
* 機能: Smarty への接続
*/
include_once("smarty/Smarty.class.php");  
$smarty = 新しい Smarty();          //smarty の新しいインスタンス
$smarty->config_dir = "smarty/";      //smarty の設定情報
$smarty->キャッシュ = false;         // キャッシュを使用するかどうか
$smarty->template_dir = "./templates";   // テンプレートを保存するフォルダーを設定します
/** 
* Smarty は、テンプレートと PHP コンテンツを混合ファイルに自動的にコンパイルできます
* templates_C フォルダーに保存されます
 */
$smarty->compile_dir = "./templates_c";  //コンパイルされたファイルを保存するフォルダー
$smarty->cache_dir = "./smarty_cache";   // キャッシュ ファイルを保存
$smarty->left_delimiter = "{";  
$smarty->right_delimiter = "}";  
?>  
コードによれば、対応するファイルを保存するために使用される 3 つのフォルダーも作成する必要があります。 templates フォルダーは、フォルダーの名前が示すように HTML ファイルを保存するために使用されます。これらはテンプレートであり、プロジェクトのさまざまなスタイルを表示するために "$smarty->display()" によって呼び出されます。 tempates_c は、コンパイルされたファイルを保存するために使用されます。 php ファイルとテンプレートは別のファイルに記述されますが、php コンパイラーはテンプレートと php コンテンツを混合ファイルにコンパイルし、templates_c フォルダーに保存できます。 Smarty_cache はキャッシュ ファイルを保存するために使用されます。
PHP(3): Smarty_PHP チュートリアルの使用を開始する
ステップ3: PHPコンテンツ(a.php)を書く
[php] plaincopyprint を表示しますか?
/*
* 2013 年 1 月 10 日に作成
* 著者: ニック
* 機能:
*/
include("SmartyCon.php");  
$name = "php100";  
//$smarty->assign("title",$name); // php 変数をテンプレートのタブに割り当てます
//$smarty->display("a.html");    // テンプレートを表示
$nameTwo[] = array("name"=>"ジミー","city"=>"モントリオール");  
$nameTwo[] = array("name"=>"tim","city"=>"無錫");  
$nameTwo[] = array("name"=>"サム","city"=>"ニューヨーク");  
$nameTwo[] = array("name"=>"ジョン","city"=>"サンフラン");  
$nameTwo[] = array("name"=>"ユリ","city"=>"ロイラ");  
$title= array("a"=>"名前","b"=>"ニュース","c"=>"日付","d"=>"now()");  
$smarty->assign("title",$nameTwo); // php 変数をテンプレートのタブに割り当てます
$smarty->assign("ab",$title);  
$smarty->display("a.html");  // テンプレートを表示
?>  
上記のコードが示すように、$smarty->assign("ab",$title) を使用して、php 変数を Smarty 変数に割り当てることができます。次に、$smarty->display() を使用して、対応するテンプレートを表示します。テンプレート ファイルでは、ここで php コンテンツの値を表示するために、同じ割り当てられたファイルを使用する必要があります。たとえば、テンプレートに $title の「ニュース」を表示したい場合です。 .html ファイルでは、「{$ab[b]}」を使用する必要があります
ステップ4: テンプレートファイル(a.html)を書く
[html] plaincopyprint を表示しますか?
 

{$ab["b"]}

 
 
{$title}  
{セクション名=リストループ=$title}
 
{$title[リスト].name} - {$title[リスト].city}

 
{/セクション}
 
結果は次のようになります:
PHP(3): Smarty_PHP チュートリアルの使用を開始する
二次元テーブルの値を出力する方法については、{section name=''loop=$..}{/section}を使用する必要があります

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/477816.html技術記事 1. Smarty について PHP を使用して Web プログラミングを行う場合、問題の 1 つは、php ファイルに html コードと同じくらい長い php コードが混在する可能性があることです。ある時点で、それはあまりきれいではありません...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。