Rumah >pembangunan bahagian belakang >masalah PHP >smarty模板的数据变量有哪些,又该如何调用?

smarty模板的数据变量有哪些,又该如何调用?

autoload
autoloadasal
2021-03-08 11:02:051424semak imbas

定义:模板变量,即在模板中被分配的变量,以及如何使用Smarty规则在模板中解析变量。

Smarty模板中,我们将模板中的变量分为三类。

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

  •       smarty保留变量,包括超全局预定义变量smarty的内置变量。

  •       自定义变量,用户在模板中去定义变量。

  1.PHP分配变量,理论上PHP可以分配任意数据类型给模板进行解析,通常数据其实也就三种:

  • 标量数据:直接使用标记输出的数据。

  • 数组数据:在smarty模板中可以使用下标或者通过"."+下标来实现。

  • 对象数据:在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.名字}

  • POST数据:{$smarty.post.名字}

  • session数据:{$smarty.session.名字}

  • cookie数据:{$smarty.cookies.名字}

  • REQUEST数据:{$smarty.request.名字}

  • server数据:{$smarty.server.大写名字}

  • 时间戳:{$smarty.now}

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

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

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

<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视频教程

Atas ialah kandungan terperinci smarty模板的数据变量有哪些,又该如何调用?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn