ホームページ > バックエンド開発 > PHPの問題 > Smarty テンプレートのデータ変数とその呼び出し方法は何ですか?

Smarty テンプレートのデータ変数とその呼び出し方法は何ですか?

autoload
リリース: 2023-03-08 14:10:02
オリジナル
1415 人が閲覧しました

定義: テンプレート変数 (テンプレートに割り当てられる変数)、および Smarty ルールを使用してテンプレート内の変数を解析する方法。

Smarty テンプレートでは、テンプレート内の 変数 を 3 つのカテゴリに分類します。

  • PHP は変数を割り当てます。つまり、変数は assign メソッドを使用して割り当てられます。

  • Smarty は、スーパーグローバル事前定義変数smarty の組み込み変数などの変数を保持します。

  • カスタム変数。ユーザーはテンプレートで変数を定義します。

1. PHP は変数を割り当てます。理論的には、PHP は解析用のテンプレートに任意のデータ型を割り当てることができます。通常、データの種類は 3 つだけです。

  • スカラー データ: マークによって出力されたデータを直接使用します。

  • 配列データ: Smarty テンプレートで添え字を使用するか、「.Subscript を渡すことができます。

  • オブジェクト データ: Smarty テンプレートでは、アクセスは オブジェクト アクセサー を通じて行われます。

<?php
    require &#39;smarty/Smarty.class.php&#39;;
    $smarty=new Smarty();
    // $smarty->left_delimiter="<{";
    // $smarty->right_delimiter="}>";
    $smarty->template_dir = &#39;templates/&#39;;   //实际模板所在目录,如果没有会在根目录下查找
    
    
    //普通数据
    $smarty->assign(&#39;hello&#39;,"hello world");
    //数组
    $smarty->assign(&#39;arr1&#39;,array(1412,14,23,456));
    $smarty->assign(&#39;arr2&#39;,array(&#39;name&#39;=>&#39;张三&#39;,&#39;sex&#39;=>&#39;男&#39;));
    //对象
    class Person{
        public $name=&#39;陈平安&#39;;
        public $perr=&#39;saber&#39;;
    }
    $smarty->assign(&#39;object1&#39;,new Person());
    $smarty->display(&#39;model.html&#39;);
?>
ログイン後にコピー
<!DOCTYPE html>//模板 model.html
<html>
<head>
    <title></title>
</head>
<body>
     {$hello}这是templates下面的模板 <br>
     这是索引数组:{$arr1[0]}---{$arr1[1]}------{$arr1[2]}<br>
     这是索引数组:{$arr1.0}---{$arr1.1}------{$arr1.2}<br>
     这是关联数组:{$arr2.name}-----{$arr2.sex}<br>
     这是对象:{$object1->name}-----------{$object1->perr}<br>
</body>
</html>
ログイン後にコピー

2.Smarty の予約変数: Smarty は、ユーザーが頻繁に使用する必要があるシステム変数または内部変数を考慮します。このような変数は通常 $smarty で始まり、その後に複数回アクセスできるさまざまなキーワードが続きます。

  • #GET データ: {$smarty.get.name}

  • ##POST データ: {$smarty.post.name}
  • セッション データ: {$smarty.session.name}
  • Cookie データ: {$smarty.cookies.name}
  • ##リクエスト データ: {$smarty.request.name}
  • サーバー データ: {$smarty.server.uppercase name}
  • タイムスタンプ: {$smarty.now}

  • テンプレート パス: {$smarty.current_dir}

  • テンプレート名: { $ Smarty.template}

  • 設定ファイル: {$smarty.config.Configuration name}

  • <html>
       	<header></header>
        <body>
            	GET数据:{$smarty.get.name}
    	  	POST数据:{$smarty.post.name}
    		session数据:{$smarty.session.username}
    		cookie数据:{$smarty.cookies.username}
    		REQUEST数据:{$smarty.request.name}
    		server数据:{$smarty.server.SERVER_NAME}
    		时间戳:{$smarty.now}
    		模板路径:{$smarty.current_dir}
    		模板名字:{$smarty.template}
        </body>
    </html>
    ログイン後にコピー

    3. カスタム変数:テンプレート内のデータを柔軟に処理するために、Smarty では変数を設定できます: {assign var='変数名' value='変数値'}。
<html>
    <header></header>
    <body>
        {assign var=&#39;name&#39; value=&#39;Sun&#39;}
        {$name}
    </body>
</html>
ログイン後にコピー

推奨: php チュートリアル

php ビデオ チュートリアル

以上がSmarty テンプレートのデータ変数とその呼び出し方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート