ホームページ  >  記事  >  バックエンド開発  >  プライベート ライアン スマーティのサンプル チュートリアルを保存する

プライベート ライアン スマーティのサンプル チュートリアルを保存する

WBOY
WBOYオリジナル
2016-07-29 08:35:02958ブラウズ

Smarty サンプル チュートリアル (1)
1. Smarty とは何ですか?
smarty は、PHP で書かれたテンプレート エンジンであり、簡単に言うと、PHP プログラマがアーティストに使用することを目的としています。プログラムの論理コンテンツを変更しても、アーティストのページ デザインには影響しません。アーティストによるページの再変更は、プログラムのプログラム ロジックには影響しません。これは、複数人で協力するプロジェクトでは特に重要です。
2. Smarty の利点:
1. 速度: Smarty を使用して作成されたプログラムは、他のテンプレート エンジン テクノロジーと比較して最大の速度向上を実現できます。
2. コンパイル済みタイプ: Smarty で書かれたプログラムは、実行時に非テンプレート テクノロジの PHP ファイルにコンパイルする必要があります。このファイルは、次回テンプレートが作成されるときに、PHP と HTML を組み合わせて使用​​されます。
3. キャッシュ技術:smartyが選択したキャッシュ技術で、ユーザーが最終的に閲覧するHTMLファイルを静的HTMLページにキャッシュすることができます。 Smarty の属性が
true に設定されている場合、ユーザーの WEB リクエストは、smarty によって設定されたキャッシュタイム内でこの静的 HTML ファイルに直接変換されます。これは、静的 HTML ファイルを呼び出すことと同等です。
4. プラグインテクノロジー: Smarty はプラグインをカスタマイズできます。プラグインは実際にはいくつかのカスタム関数です。
5. If/elseif/else/endif をテンプレートで使用できます。テンプレート ファイルで判断ステートメントを使用すると、テンプレートを非常に便利に再フォーマットできます。
3. Smarty の使用に適さない場所:
1. リアルタイムで更新する必要があるコンテンツ。たとえば、頻繁にデータを更新する必要がある株式表示のように、このタイプのプログラムに Smarty を使用すると、テンプレートの処理が遅くなります。
2. 小さなプロジェクト。プロジェクトが単純であるため、アーティストとプログラマーの両方が単純な小規模プロジェクトの場合、smarty を使用すると、迅速な PHP 開発という利点が失われます。
4.smartyクラスをインストールする:
smartyをインストールする環境: PH​​Pバージョン4.06以降。
smarty のインストール方法は非常に簡単です。http://samrty.php.net から Smarty.t をダウンロードします。
LIB 内のすべてのファイルを comm ディレクトリにコピーして、基本的なインストールを完了します。 、マニュアルを参照してください。
5. テンプレートでの Smarty の使用:
このセクションでは、いくつかの例を通して Smarty の使用について説明します。 Smarty テンプレートは通常、.tpl で識別されます。芸術の便宜上、拡張子を直接 .html として記述する人もいます。これも
​​ です。この記事では、smarty の標準的な記述方法を採用しており、smarty テンプレートとして .tpl で表現されています。
PHPコード:---------------------------------------------- -- ----------------------------------
例 1:
まずは簡単な例を見てみましょう。
=============================================== ====
index.tpl
========================================= = ============
{* Smarty 変数識別子の * に含まれるテキストがコメント内容として表示されます *}
{include file="header.tpl"}{*ページヘッダー* }
みなさん、こんにちは。私の名前は {$name} です。私の Smarty 学習教材をぜひ読んでください。
{include file="foot.tpl"}{*ページの終わり*}
上記の例は tpl テンプレートです。ここで:
1. {**} はテンプレート ページのコメントであり、smarty が解析するときに使用されます。テンプレート 出力は実行されません。テンプレート設計者のみがテンプレートに注釈を付けることができます。
2. {include file="xxx.tpl"} この文を使用して、現在のページにテンプレート ファイルをインクルードします。この例では、Web サイトで一般的な head.tpl と foot.tpl がインクルードされます。これについて考えてみましょう。この文を使用して、xxx​​.tpl のすべての内容を現在のステートメントにコピーします。もちろん、この文を使用する必要はありません。XXX.tpl の内容を現在の文にコピーしても問題ありません

3.{$name}: Smarty のコアコンポーネントであるテンプレート変数は、smarty で定義された左境界文字 {および右境界文字} に含まれており、PHP 変数の形式で与えられます。 Smarty プログラム
$smarty- >assign("name", "Li Xiaojun"); テンプレート内の $name を 3 つの単語「Li Xiaojun」に置き換えます。
ソースプログラム全体の例は次のとおりです:
==============================
header.tpl
==== ==== ====================

兄貴の賢いチュートリアル ;/頭>
<体>
==============================
foot.tpl
==== == ========================



=========================== =====================
インデックス.tpl
======================== ======================= ======
{* コメント内容として、smarty 変数識別子の * に含まれるテキストが表示されます *}
{include file="header.tpl"}{*ページヘッダー*}
皆さん、こんにちは、私の名前です。 {$name} です。私のスマートな学習教材をぜひ読んでください。
{include file="foot.tpl"}{*ページ終了*}
=============================== = ================
Index.php
============================ == ===================
include_once("./comm/Smarty.class.php"); //smarty クラス ファイルをインクルードします
$ Smarty = new Smarty() //Smarty インスタンス オブジェクトを作成します $smarty using using -コンパイルディレクトリを設定します
--------/// 左右の境界記号。デフォルトは {} ですが、実際のアプリケーションでは JavaScript
// と競合しやすいため、< {} & gt; などを設定することをお勧めします。
//-------------------------------------------- --- -----
$smarty->left_delimiter = "{"; $smarty $smarty 変数置換
// ./templates にあるindex.tpl テンプレートをコンパイルして表示します
$smarty->display( "index.tpl"); ================== ===========
インデックスを実行.php
============== ==================
賢いチュートリアル ;body>
皆さんこんにちは、私の名前は李暁君です。皆さん、私の Smarty 学習教材を読んでください。 martyの例チュートリアル(この例は、これらのパラメーターを使用して、他のパラメーターのみを選択できます。
================================================
exmple2.tpl
============================================= == ==
capitalize} 2. 2 番目の文テンプレート変数 + Li Xiaojun: {$str2|cat:"Li Xiaojun"}
3. 3 番目の文は、現在の日付: {$str3|date_format:"%Y Year %m month %d day"}
4. 4 番目の文は .php プログラムでは処理されず、デフォルト値が表示されます: {$str4|default: "No値! "} 5. 5 番目の文は 8 つの空白文字でインデントし、これら 8 つの空白文字を「*」に置き換えます。 6. 6 番目の文では、すべての TEACHerLI@163.com を小文字に変更します: {$str6| lower}
7. 7 番目の文で、変数の Teacherli を次のように置き換えます。 Li Xiaojun: {$str7|replace:"Teacherli ":"Li Xiaojun"}

8. 8 番目の文は、変数修飾子の組み合わせです。 $str8|capitalize|cat:"これが新しく追加された時刻です:"|date_format:"%Y year %m month %d日"| lower} ================ =
example2.php
============================ ================ ===
include_once("./Smarty.class.php"); //Smarty クラス ファイルをインクルードします
$smarty = new Smarty () //Smarty インスタンス オブジェクトを作成します
を使用してusing ‐ 目次
//------------------------------------------ ------- ------
でも、
//-------------------------------------------- --- ---- s $ SMARTY- & GT; left_delimiter = "{"
$ SMARTY- & GT; //私の名前は Xiao Jun に置き換えます。 , Li.
$smarty->assign("str2", "私の名前は: "); //出力: 私の名前は: Li Xiaojun
$smarty->assign("str3", "AD"); //西暦2004年8月21日(私の現在時刻)を出力
//$smarty->assign("str4", "") / /4番目の文が処理されていない場合はデフォルト値が表示されます。前の文が使用されている場合は、「」に置き換えます
$smarty->assign("str5", ""The first 8 *"); //5 番目の文の出力: * *******最初の 8*
$smarty->assign("str6", "TEACHerLI@163.com"); //Teacherli@163.com がここに出力されます
$smarty->assign(( "str7", "this is Teacherli" ); //これは Li Xiaojun です
$smarty->assign("str8", "HERE IS COMBINING:"); //index.tpl テンプレートの下にコンパイルして表示します。
$ SMARTY->
? & gt;
============= ==============================
Example2.php の出力結果:
===== ======= =========================================
< ;br>
2. 2 番目の文のテンプレート変数 + Li Xiaojun: 私の名前は: Li Xiaojun

3. 3 番目の文は、現在の日付を出力します: 2004 年 8 月 21 日
4. 4 番目の文は、 PHP プログラムで処理されると、デフォルト値「値なし」が表示されます。
5. 5 番目の文は 8 つの空白文字でインデントし、これら 8 つの空白文字を「*」に置き換えます:
********6 番目の文の最初の 8 文字をすべて TEACHerLI@ に変更します。 163.com を小文字にします: Teacherli@163.com

7. 7 番目の文で、変数の Teacherli を次のように置き換えます。 Li Xiaojun: これは李小ジュンです
8. 8 つの文では変数修飾子を使用します。結合: これが新しい時間です: 2004 年 8 月 21 日
& lt;/html & gt; 変数修飾子。これらのパラメーターは、テンプレートへの一連の変更を制御するために使用できます。変数修飾子
修飾子を適用するには「|」と修飾子名を使用し、修飾子のパラメータを区切るには「:」を使用します。変数修飾語は8文目のように組み合わせて使用​​することができ、実際の運用において柔軟に適用することができます。
例 3.
============================================= == =====
example3.tpl
====================================== == ==========

テンプレート内のいくつかのデフォルト関数
以下のこの段落は、変数 username* を定義するのと同じです。 {assignay var = "username" value = "Master"}
テンプレートによって定義された変数は次のとおりです: username = admin
下の行には 3 が表示されます。 checkBox:< br&gt; {html_checkboxes name = "checkname checked = $ ischecked separator ="&lt; br /&gt; "} 3ラジオはこの行に表示されます。 ️

============================ = ===========
example3.php
================================= = ====================
require_once ("./comm/Smarty.class.php");
$smarty = 新しい F117_Smarty; $smarty->template_dir = './templates/';
$smarty->compile_dir = './templates_c/';
$smarty->config_dir = './configs/';キャッシュ_ディレクトリ = './キャッシュ/';
$smarty->キャッシュ = false
//--------------- -- ------------------------------------------------ -- -----
// {html_checkboxes name="CheckBox" 値=$CheckName selected=$IsChecked 出力=$value separator="
"} を処理しています
//------ -- ------------------------------------------------ -- --------------------------------
$smarty->assign('CheckName', array(
中国語」 ,
1002 => '数学',
1003 => '外国語'));
$smarty->assign('IsChecked ', 1001); ------------------------------------------------- - -------------------------
//処理中 {html_radioes name="RadioBox"values=$RadioNamechecked=$IsCheckedoutput=$value separator= "
"}
//----------------------------------------------- --- --------------------------------------
$smarty->assign( 'RadioName' , array(
1001 1003 => '外国語'));
// ------------- -------------------------------------- ------------------------ -----------------------
//{html_select_date} は加工せずに自動的に出力されます
// ------------ -------------------------------------- ----------- ------------------------
$smarty->display("example3.tpl") ;
?>
smarty サンプル チュートリアル (3)
====================================== =========== ======
Example3.php の出力効果:
======================== =========== ==================

テンプレート内のいくつかのデフォルト関数 body>
{assign var="ユーザー名" value="先輩"} 
        这里将显示模板内部定义的一个变量:UserName = 大师兄
        下面的这一行将显示3个checkBox:

        语文

        数学

        外语

        下面在这一行将显示3个radio:

        语文

        数学

        外语

        下面显示一个月,日, 年选择框:

        
      
<名前=「日付_年」を選択>



CopyRight(C) By XiaoJun, Li 2004Áèã ϵ×÷Õß


例 3 は、いくつかのスマート モジュール内にあるいくつかの関数を使用しており、同様の関数を大家が手動で入手でき、方法を使用して、大家が自分で去れる可能性があります。
例4.模板制御(if / elseif / else/ endif )
================================== =====================
example4.tpl
======================== ===============================

モール板内のフロー制御


{assign var="tbColor" value="#D4D0C8"}
色:{$tbColor}

{セクション名=ループ ループ=$ニュース}
{if $tbColor == "#D4D0C8"}

{assign var="tbColor" value="#EEEEEE"}
{else $tbColor == "#EEEEEE"}

{assign var="tbColor" value="#D4D0C8"}
{/if}


️ ========================
example4.php
==================== = ==================================
require_once ("./public/inc/ F117_Smarty .php");
$smarty = 新しい F117_Smarty;
$smarty->template_dir = './templates/';
$smarty->compile_dir = './templates_c/';
$smarty->config_dir = './configs/';
$smarty->cache_dir = './cache/';
$smarty->caching = false;
$array[]= array("newsID"=>"001") , "ニュースタイトル"=>"ニュースその1");
$array[]= array("ニュースID"=>"002", "ニュースタイトル"=>"ニュースその2"); [ ]= array("ニュースID"=>"003", "ニュースタイトル"=>"ニュース第3号");
$array[]= array("ニュースID"=>"004", "ニュースタイトル" = >"ニュース 第 4 号");
$array[]= array("ニュース ID"=>"005", "ニュースタイトル"=>"ニュース 第 5 号"); ( "ニュースID"=>"006", "ニュースタイトル"=>"ニュース第6号");
$array[]= array("ニュースID"=>"007", "ニュースタイトル"=>"第7回ニュース");
$array[]= array("ニュースID"=>"008", "ニュースタイトル"=>"ニュース8");
$smarty->assign("ニュース", $ array);
$smarty->display("example4.tpl");
smarty サンプル チュートリアル (4)
============= ===============================
example4.php 出力:
============ =====================================

< title>テンプレートのフロー制御
{$News[loop].newsID} s [ループ].newsTitle}

&lt; td&gt; lt&gt; td&gt;


:
== " 4D0C8"}
️ tbColor" value="#D4D0C8"} 覚えておいてください。テンプレートの内部変数を設定する定義方法を例 3 に示します。テンプレートに組み込まれたプロセス制御ステートメントを使用すると、プログラムの制御能力が大幅に向上する場合があります。次の例は、phpx.com の友人から尋ねられたものです。誰もが学べるように、例としてここに示します。

例 5: テンプレートに組み込まれたフロー制御ステートメントを使用して、複数セルのコンテンツを 1 行で出力します。これは視覚的にスマートです。 各レコードに出力されるレコードの数:
== ========================================== ======
例5 .tpl
======================================== ======= == html&gt;&lt;&gt;
 
      
002007

    
  
  ====================================================
  example5.php
  ====================================================
require_once ("./public/inc/F117_Smarty.php");
$smarty = new F117_Smarty;
$smarty->template_dir = './templates/';
  $smarty->compile_dir  = './templates_c/';
  $smarty->config_dir   = './configs/';
  $smarty->cache_dir    = './cache/';
  $smarty->caching      = false;
 $array[]= array("newsID"=>"001", "newsTitle"=>"第1条新闻"); 
 $array[]= array("newsID"=>"002", "newsTitle"=>"第2条新闻");
 $array[]= array("newsID"=>"003", "newsTitle"=>"第3条新闻");
 $array[]= array("newsID"=>"004", "newsTitle"=>"第4条新闻");
 $array[]= array("newsID"=>"005", "newsTitle"=>"第5条新闻");
 $array[]= array("newsID"=>"006", "newsTitle"=>"第6条新闻");
 $array[]= array("newsID"=>"007", "newsTitle"=>"第7条新闻");
 $array[]= array("newsID"=>"008", "newsTitle"=>"第8条新闻");
 $smarty->assign("News", $array);
 $smarty->display("example5.tpl");
 ?>
 ==================================================
 example5.php输出内容:
 ==================================================
   
    一行输出多条记录
    
       
    
                              
               
                   
       
                   
       
                   
       
                   
       
                              
               
                   
       
                   
       
                   
       
                   
1行目で空白行が出力されないように最適化lt;tr> ですが、プログラムを学ぶには、シンプルにしておくほうがよいでしょう。まず次のように説明します:
$smarty.section.loop.index % 4 == 0}
. {$News[loop].newsID} .この文:
アウト アウト アウト アウト アウト アウト アウト アウトout out out out out out to be s インデックスと呼ばれ、インデックス値を表します。現在のループ
0 から開始して増加し、%4 の後の 0 と比較します。つまり、現在のインデックス値が 4 の倍数である場合、 を出力します。それ以外の場合は、次の部分を実行してください。
プログラムで実装するのが非常に面倒な問題を簡単に解決します

上記は、プライベート ライアンの保存の内容を含む、プライベート ライアンの保存のサンプル チュートリアルを紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
001 第1条新闻 002 第2条新闻 003 第3条新闻 004 第4条新闻
005 第5条新闻 006 第6条新闻 007 第7条新闻 008 お知らせその8