当前位置: 代码迷 >> PHP >> php之Smarty根本语法和三大变量
  详细解决方案

php之Smarty根本语法和三大变量

热度:14   发布时间:2016-04-28 17:43:22.0
php之Smarty基本语法和三大变量

在Smarty模板中主要都是以变量为主,下面就是有关Smarty的三大变量以及一些普通的用法


首先在根目录下建立要用到的文件基本和上一次一样,configs是配置文件夹




一、从PHP中分配的变量

        用$smarty->assign()

        $smarty->display()


首先先编写初始化的php代码,和上一篇的  conn.inc.php  一样

<?php    include "init.inc.php";    //assign方法    $smarty->assign("title","11111111");    $smarty->assign("content","2222222222");    //分配一个关联数组,用的较少    $smarty->assign(array("author"=>"何栘烽","time"=>date("Y-m-d H:i:s")));    //注册函数    $smarty->registerPlugin("function","myfun","test");  //注册插件,将test函数注册成myfun    function test($args){    	//args=array("size"=>7, "color"="yellow", "num"=>5, "connect"=>"3333333")    	//循环遍历出    	$str="";    	for($i=0; $i<$args["num"]; $i++){    		$str.='<font color="'.$args['color'].'" size="'.$args['size'].'">'.$args["content"].'</font><br>';    	}    	return $str;    }    //数组    $smarty->assign("contacts",array("0575-1241243","[email protected]", array("243214124", "45345")));    //对象    class Person{    	public $name="kefeng";    	function say(){    		return $this->name."hhhhhhhh";    	}    }    $smarty->assign("p",new Person());    $smarty->display("demo.html");  //显示的模板

demo.html:

<html>	<head>		<title><{ $title }></title>		<style>		body {color:red;}		</style>	</head>	<body>		   content:<{$content}><br>           content:<{$content}><br>		   content:<{$content}><br>		   author:<{$author}><br>		   time:<{$time}><br>		   time:<{myfun()}><br>		   time:<{date("Y-m-d")}><br>			<img src="img.gif" /><br>			<{myfun size="7" color="yellow" num="5" content="3333333"}>			<{$contacts[0]}><br>			<{$contacts[2][0]}><br>			<br>			<{$p->name}><br>			<{$p->say()}><br>			<br>		</script>	</body></html>






二、从配置文件中读取变量

这里需要创一个 configs  文件夹,里面配置文件 test.conf

test.conf:

bodycolor=#3e3e3ebodybgcolor=yellowborder=10align=centerwidth=800bgcolor=gray[index]one=11111[list]two=22222[content]three=33333

在demo.php 中开启session

<?php    //session_start();    include "init.inc.php";    $_SESSION["username"]="admin";    $smarty->display("demo.html");  //显示的模板

注意的是:加载配置文件:<{config_load "test.conf"}>
              读取:<{#内容#}>
              加载区域文件要用到第二个参数:<{config_load "test.conf" section="index"}>


demo.html :中,这里写一些头文件,以及加载代码

<html>  <head>    <title><{ $title }></title>    <style>    body {color:red;}    </style>  </head>  <{config_load "test.conf" section="index"}>  <body text="<{ #bodycolor# }>" bgcolor="<{#bodycolor#}>">    .......   .......  <{#one#}><br>  <{#two#}><br>  <{#three#}><br>   ......   </body></html><span style="white-space:pre">	</span>   


三、保留变量

主要有:   $_GET
                   $_POST
                   $_SESSION
                   $_SERVER
                   $_ENV
                  <{$smarty()}>

 <p><{$smarty.session.username}><br><{$smarty.now}><br><{$smarty.const.ROOT}><br><{$smarty.const.M_PI}><br><{$smarty.current_dir}><br>