Smarty 注册变量
关于smarty类的一些解析
特别注意左右分隔符<{}>,display------显示模板的内容(里面是.html文件),assign-------注册变量
<?php
//是一个关于smarty类的重点部分以及参数解析 class Smarty
{
public $leftlimit = "<{";//定义左分隔符
public $rightlimit = "}>";//定义右分隔符
public $attr;//存放变量信息的数组 //注册变量
function assign($k,$v)
{
$this->attr[$k] = $v;
}
//显示模板
function display($name)
{
//造模板的路径
$filename = $mubanlujing.$name;//index.html
//获取模板路径
$str = file_get_contents($filename); /*<html>
<head></head>
<body>
<div>{$aa}</div>
</body>
</html>
*/ //用正则去匹配字符串中出现的{}的内容
//将内容读取(读取到的数组里面的key),拿key去数组attr里面取value
//可以理解成上下的两个例子 /*<html>
<head></head>
<body>
<div><?php echo $attr[key] ?></div>
</body>
</html>
*/ //将str里面的文件放到缓存内容
file_put_contents($filename,$str); //将存储的文件加载到当前页面
include($filename); }
}
smarty基础如何显示内容以及类型参数
php的页面------main.php
<?php
//在这个页面显示
include("../init.inc.php"); $name = "张三";//可以显示字符串
$age = 20;//显示数字
$attr = array("中国","山东","淄博");//索引数组
$att = array("one"=>"你好","two"=>"hello");//关联数组 class Ren
{
public $name = "不知道";
public $age;
} $r = new Ren();
$r->age = "不知道"; //传到html页面时用key
$smarty->assign("name",$name);//显示注册变量
$smarty->assign("age",$age);//显示数字
$smarty->assign("dizhi",$attr);//显示索引数组,去索引号
$smarty->assign("yuyan",$att);//可以显示关联数组
$smarty->assign("ren",$r);//读取对象 $smarty->display("main0603.html");//显示模板的内容
templates中的html文件
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<h1>主页面</h1> <div>登陆者是:<span style="color:#C36; background-color:#6FF"><{$name}></span></div>
<br />
<div>年龄是:<{$age}></div>
<br />
<div>所住的地址是:<{$dizhi[1]}></div>
<br />
<div>所会的的语言:<{$yuyan['one']}></div>
<br />
<div>两种写法后者优先:<{$yuyan.two}></div>
<br />
<div>他的好友姓名:<{$ren->name}></div>
<br />
<div>好友的年龄:<{$ren->age}></div>
</body>
</html>
配置文件:init.inc.php
<?php
define("ROOT",str_replace("\\","/",dirname(__FILE__)).'/'); //常量ROOT中指定项目根目录
//echo str_replace("\\","/",dirname(__FILE__))."/";
require ROOT.'libs/Smarty.class.php'; //加载Smarty类文件
$smarty = new Smarty(); //实例化Smarty对象<br>
//$smarty -> auto_literal = false; //就可以让定界符号使用空格
$smarty->setTemplateDir(ROOT.'templates/'); //设置所有模板文件存放位置
//$smarty->addTemplateDir(ROOT.'templates2/'); //添加一个模板文件夹
$smarty->setCompileDir(ROOT.'templates_c/'); //设置编译过的模板存放的目录
$smarty->addPluginsDir(ROOT.'plugins/'); //设置为模板扩充插件存放目录
$smarty->setCacheDir(ROOT.'cache/'); //设置缓存文件存放目录
$smarty->setConfigDir(ROOT.'configs/'); //设置模板配置文件存放目录
$smarty->caching = false; //设置Smarty缓存开关功能
$smarty->cache_lifetime = 60*60*24; //设置缓存模板有效时间一天
$smarty->left_delimiter = '<{'; //设置模板语言中的左结束符
$smarty->right_delimiter = '}>'; //设置模板语言中的右结束符
Smarty 注册变量的更多相关文章
- smarty获取变量的两种方式
从上一篇随笔中,我们知道smarty可以通过assign()的方法注册变量,从而在前段读取变量:我们也可以从配置文件中获取变量,来具体看一下: 1.在configs文件夹中建一个test.conf文件 ...
- $smarty获取变量get,post等用法
{$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量.例如,直接在模板中访问页面请求变量.获取访问模板时的时间邮戳.直接访问PHP ...
- Smarty 保留变量
{$smarty} 保留变量 可以通过PHP的保留变量 {$smarty}来访问一些环境变量. 下面是这些变量的列表: 页面请求变量 页面请求变量如$_GET, $_POST, $_COOKIE, $ ...
- smarty学习——变量
变量的处理对于模板来说是比较重要的. Smarty有几种不同类型的变量. 变量 的类型取决于它的前缀是什么符号(或者被什么符号包围) Smarty的变量可以直接被输出或者作为函数属性和修饰符(modi ...
- Smarty模板变量调节器
Smarty模板变量调节器用法 在smarty里面,怎么修饰文本和变量呢?当然,你可以通过php函数处理文本,然后再通过assign()方法分配到模板,其实smarty提供了变量调节器能够很容易的处理 ...
- 第八十八天请假 PHP smarty模板 变量调节器,方法和块函数基本书写格式
变量调节器 : 文件命名格式(modifier.名称.php) 前端调用方式<{变量|名称:参数:参数……}>可组合使用,用|隔开 <?php /* 命名格式 smarty_mod ...
- Vue解析四之注册变量
判断监听的变量,如果undefined可以用$set来注册一个变量. 另外click可以是表达式,不一定必须是一个方法.
- Smarty保留变量信息
对php里边的超级全局数组变量信息的使用 例如:$_GET.$_POST.$_SESSION.$_COOKIE.$_REQUEST.$_SERVER.$_ENV.$GLOBALS.$_FILES.常量 ...
- smarty assign变量赋值
1.变量赋值的两种写法 <%assign var="name" value="cl"%> <%assign "name" ...
随机推荐
- java中的d单例模式
public class SimpleDemo1 { //恶汉式 //类初始化时,立即加载这个对象(没有延时加载的优势).加载类时,天然的是线程安全的 private static final Sim ...
- 8.MyBatos的动态Sql
1.创建javaWeb项目MyBatis_dynamicSQL并在WebRoot下的WEB-INF下的lib下添加如下jar文件 cglib-nodep-2.1_3.jar log4j-1.2.17. ...
- C# 语言规范_版本5.0 (第14章 枚举)
1. 枚举 枚举类型 (enum type) 是一种独特的值类型(第 4.1 节),它用于声明一组命名的常量. 下面的示例 enum Color { Red, Green, Blue } 声明一个名为 ...
- Dojo的UI框架bootstrap for dojo和Dojo-Bootstrap简介
最近在学习Dojo,但样式问题真是头疼呀,虽然清新的淡蓝色很是减缓眼睛的疲劳,但这个扁平化简约风盛行的年代,光是清新的拟物已经满足不了群众的需求了,所以就在这样的需求下,我知道了bootstrap f ...
- 一种基于FSIM对视频编码图像质量客观评价的方法
一 为什么对视频编码图像质量客观评价 视频图像质量主观评价一般采用连续双激励质量度量法对任一观测者连续给出原始视频图像和处理过的失真图像,由观测者根据主观感知给出分值,其需针对多个视频对象进行 ...
- rune is alias of int32
I think chendesheng's quote gets at the root cause best: Go uses a lot of signed values, not just fo ...
- URL中文参数乱码的一个解决办法
浏览器对有中文参数的url大部分都用utf-8编码,但我也曾经遇见过用GB2312编码的:如果遇见这样情况,那么接受到的参数就会出现乱码.乱码情况视服务器解码方式,Asp.Net网站一般默认为ut ...
- Hadoop Datanode 机器缺失 VD 问题修复尝试
背景: 新集群 Datanode 使用两个 SSD 做 raid 1 作为根磁盘,12 个 SAS 单独做 raid 0 作为数据盘,在机器部署完毕后,缺发现 PD slot 4 和 slot 5 丢 ...
- 从NPM到CNPM
从NPM到CNPM 原文 http://www.cnblogs.com/hufeng/p/5166479.html 主题 npm 引用NPM网站上的一句话:npm loves you ! NPM ...
- C# lesson3
一.局部变量和成员变量 1.程序入口(Main)要调用非静态成员(变量或方法)的话,是需要通过对象去调用的: 2.普通方法里面去调用变量或方法的话可以直接调用 成员变量(全局变量):放在Main方法之 ...