溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

smarty模板的數(shù)據(jù)變量有哪些以及調(diào)用方法是什么

發(fā)布時間:2021-03-08 13:58:24 來源:億速云 閱讀:182 作者:TREX 欄目:編程語言

本篇內(nèi)容主要講解“smarty模板的數(shù)據(jù)變量有哪些以及調(diào)用方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“smarty模板的數(shù)據(jù)變量有哪些以及調(diào)用方法是什么”吧!

 定義:模板變量,即在模板中被分配的變量,以及如何使用Smarty規(guī)則在模板中解析變量。

Smarty模板中,我們將模板中的變量分為三類。

  • PHP分配變量,即利用assign方法分配的變量。

  • smarty保留變量,包括超全局預(yù)定義變量smarty的內(nèi)置變量。

  • 自定義變量,用戶在模板中去定義變量。

 1.PHP分配變量,理論上PHP可以分配任意數(shù)據(jù)類型給模板進(jìn)行解析,通常數(shù)據(jù)其實也就三種:

  • 標(biāo)量數(shù)據(jù):直接使用標(biāo)記輸出的數(shù)據(jù)。

  • 數(shù)組數(shù)據(jù):在smarty模板中可以使用下標(biāo)或者通過"."+下標(biāo)來實現(xiàn)。

  • 對象數(shù)據(jù):在smarty模板中是通過對象訪問符來實現(xiàn)訪問。

<?php
    require 'smarty/Smarty.class.php';
    $smarty=new Smarty();
    // $smarty->left_delimiter="<{";
    // $smarty->right_delimiter="}>";
    $smarty->template_dir = 'templates/';   //實際模板所在目錄,如果沒有會在根目錄下查找
    
    
    //普通數(shù)據(jù)
    $smarty->assign('hello',"hello world");
    //數(shù)組
    $smarty->assign('arr1',array(1412,14,23,456));
    $smarty->assign('arr2',array('name'=>'張三','sex'=>'男'));
    //對象
    class Person{
        public $name='陳平安';
        public $perr='saber';
    }
    $smarty->assign('object1',new Person());
    $smarty->display('model.html');
?>
<!DOCTYPE html>//模板 model.html
<html>
<head>
    <title></title>
</head>
<body>
     {$hello}這是templates下面的模板 <br>
     這是索引數(shù)組:{$arr1[0]}---{$arr1[1]}------{$arr1[2]}<br>
     這是索引數(shù)組:{$arr1.0}---{$arr1.1}------{$arr1.2}<br>
     這是關(guān)聯(lián)數(shù)組:{$arr2.name}-----{$arr2.sex}<br>
     這是對象:{$object1->name}-----------{$object1->perr}<br>
</body>
</html>

 2.Smarty保留變量:是smarty考慮到用戶會需要經(jīng)常使用的系統(tǒng)變量,或者內(nèi)部變量。這類變量通常以$smarty開始,然后是各類關(guān)鍵字,多次訪問。

  • GET數(shù)據(jù):{$smarty.get.名字}

  • POST數(shù)據(jù):{$smarty.post.名字}

  • session數(shù)據(jù):{$smarty.session.名字}

  • cookie數(shù)據(jù):{$smarty.cookies.名字}

  • REQUEST數(shù)據(jù):{$smarty.request.名字}

  • server數(shù)據(jù):{$smarty.server.大寫名字}

  • 時間戳:{$smarty.now}

  • 模板路徑:{$smarty.current_dir}

  • 模板名字:{$smarty.template}

  • 配置文件:{$smarty.config.配置名}

<html>
   	<header></header>
    <body>
        	GET數(shù)據(jù):{$smarty.get.name}
	  	POST數(shù)據(jù):{$smarty.post.name}
		session數(shù)據(jù):{$smarty.session.username}
		cookie數(shù)據(jù):{$smarty.cookies.username}
		REQUEST數(shù)據(jù):{$smarty.request.name}
		server數(shù)據(jù):{$smarty.server.SERVER_NAME}
		時間戳:{$smarty.now}
		模板路徑:{$smarty.current_dir}
		模板名字:{$smarty.template}
    </body>
</html>

3.自定義變量:Smarty為了在模板中可以靈活的對數(shù)據(jù)進(jìn)行處理,允許設(shè)置變量:{assign var='變量名' value='變量值'}。

<html>
    <header></header>
    <body>
        {assign var='name' value='Sun'}
        {$name}
    </body>
</html>

到此,相信大家對“smarty模板的數(shù)據(jù)變量有哪些以及調(diào)用方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI