ホームページ  >  記事  >  バックエンド開発  >  PHP で Smarty を使用する場合の注意点と変数にアクセスするいくつかの方法_PHP チュートリアル

PHP で Smarty を使用する場合の注意点と変数にアクセスするいくつかの方法_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:22:24920ブラウズ

$tpl=new Smarty();//新しい Smarty オブジェクトを作成します。私は Smarty-3.1.6version
1 を使用します。デフォルトでは、Smarty テンプレートのパスを設定します。は templates2 です。Smarty テンプレートのコンパイル パスを設定します $tpl->
setCompileDir()
; デフォルトでは、Smarty テンプレート エンジンの左と右の区切り文字を設定します $tpl->left_delimiter="<{";

$tpl->right_delimiter="}>";

デフォルト: public $left_delimiter = "{";//スマートなソースコード

public $right_delimiter = "}";//賢いソースコード

これらの区切り文字を変更する必要があるのはなぜですか?

例えば、以前のバージョンの Smarty エンジン テンプレートでは、エラーが報告され、自動的に認識できないためです。

例:





コードは次のとおりです。 function show(){
alert("smarty");
}

どちらの場合も、「左中括弧」と「右中括弧」があり、それに遭遇すると Smarty エンジンはエラーを報告します 4. 追加の初期化操作を外部で作成できます。初期化操作用の php ファイル (smarty.ini.php など)。次に、それをphpファイルに含めます


コードをコピーします

コードは次のとおりです:

include "../Smarty3.1.6/libs/Smarty.class.php"; tpl= new Smarty();
$tpl->setTemplateDir("./Compile");
$tpl->left_delimiter="<{" ;
$tpl->right_delimiter="}>"; ?> 5. Smarty テンプレート エンジンの表示機能を使用する場合、または他のテンプレートを含める場合は、smarty オブジェクトで指定されたテンプレート ディレクトリを使用する必要があります。 (例: Tpl ディレクトリ、デフォルトはテンプレート ディレクトリ) をベース ディレクトリとして使用します。 ①テンプレートディレクトリは: Tpl. このディレクトリには、デフォルト、緑、赤のテンプレートを含む多くのテンプレートが保存されています デフォルトのテンプレートディレクトリには、多くのテンプレートファイル(index.tpl、header.tpl、footer.tpl)があります。このとき、表示 正しい使い方: $tpl->display("default/index.tpl"); つまり、ベースディレクトリ配下のデフォルトのテンプレートディレクトリ
②テンプレートファイル(例:index.tpl)に他のテンプレート ファイル (header.tpl、footer.tpl など) の場合、インクルードの正しい書き方は次のようにする必要があります: <{include “default/header.tpl”}> {include “default/footer.tpl” ”}>
Index.tpl、header.tpl、footer.tpl は両方とも同じディレクトリにありますが、<{include “header.tpl”}<{include “footer.tpl”}>この場合、Smarty エンジンはデフォルトで検索するのではなく、Tpl ディレクトリに移動してヘッダーとフッターを見つけます。6. 各ディレクトリ内の PHP プログラムが Smarty をロードしてテンプレート ディレクトリを使用するようにする必要があります。 Smarty によって指定されたコンパイル ディレクトリを使用する場合、唯一の方法は絶対パスを使用することです。
7. Smarty テンプレート エンジンの変数にアクセスする方法 (テンプレート内の変数の前に「$」記号を忘れずに追加してください)
①配列にアクセスします
インデックス配列:
$tpl->assign("arr",array( "aa", "bb","cc"));
$tpl->assign("arr2",array(array("2次元配列 one one","2次元配列 one two"),array ("二次元配列 two One","二次元配列 two two")));
アクセスインデックス配列: <{ $arr[0] }>, <{ $arr[0] }> , <{ $arr[0] }> 2 次元インデックス配列にアクセスします: <{ $arr2[0][0] }<{ $arr2[0][1] }>連想配列: ( . シンボルを使用してアクセスします)
連想配列にアクセス: <{$arr3.id}>、<{$arr3.name}>、<{$arr3.age}> ②オブジェクトにアクセス
オブジェクトの作成:



コードをコピーします

コードは次のとおりです:
class human{
private $name
private $age;
public function __construct($s,$n; ,$a){
$this->性別 =$s;
$this->年齢=$a;
public function print_info(){
return $ this->性別."--".$ this->name."--".$this->年齢
}
}
$tpl->assign("学生",new human("男性","マルコフライ",22));

テンプレート内のオブジェクトに値を割り当てます: <{$student->print_info()}>
8. Smarty テンプレート エンジンの数学的演算をテンプレート変数に適用できます
変数に値を割り当てます
$ tpl->assign( "num1",10);
$tpl->assign("num2",5.5);
テンプレート変数出力
<{$num1}> //結果 10
<{$ num2}> // 結果 5.5
<{$num1+$num2}> // 結果 15.5
<{$num1+$num2*$num2/$num1}>// 結果 13.025
元の記事
を示してください: WEB開発_シャオフェイ

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/324671.html技術記事 $tpl=new Smarty();//新しい Smarty オブジェクトを作成します。Smarty-3.1.6 バージョン 1 を使用します。デフォルトでは、Smarty テンプレートのパスを設定します。$tpl-setTemplateDir(); 2. Smarty テンプレートを設定します。 .. .
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。