优秀的编程知识分享平台

网站首页 > 技术文章 正文

web开发之-smarty引擎使用(1)(web开发敏捷之道)

nanyue 2024-08-07 18:56:08 技术文章 12 ℃

哈哈,今天终于进入正题了,今天我们写个基本的例子来看一下如何使用smarty引擎。

我们在网站的根目录下写一个自定义的smarty.php文件,这是我们的访问的文件,

smarty.php

<?php
require_once("./Smarty.class.php");
$smarty = new MySmarty();
function myDate(){
    return date('Y-m-d H:i:s');
}

// 普通函数
function detailInfo($info){
    return "this is ".$info['info'];
}
$smarty->registerPlugin("function","myInfo","detailInfo");

// 块函数
function blockInfo($info,$content,$s){
    return $info['info']."------------".$content;
}
$smarty->registerPlugin("block","myBlockInfo","blockInfo");
// 修饰器
function modifierInfo($str,$params){
    return $str."===".$params;
}
$smarty->registerPlugin("modifier","myModifier","modifierInfo");

$smarty->assign("name","zsf"); // 设置变量
$smarty->assign("info",[["name"=>"zlx","age"=>18],["name"=>"zsf","age"=>20]]); // 设置数据
$smarty->display('index.tpl');
?>

注:

这里的Smarty.class.php是我们自己封装的类文件,并不是smarty的类库文件。我们生成了一个自定义的对象 $smarty = new MySmarty()。

我们先$smarty对象两个重要的方法,assign和display从这个字面上的意思我们可以知道,assign是一个赋值操作,例如以上代码中,我们使用assign方法把name定义为"zsf"字符串,

同样的,我们也可以为设置数组,例如,我们把info设置为数组。定义变量后,我们需要确定显示某个模板文件,这个你可以自定义后缀,比如这里的是index.tpl,这个文件是咋找到的呢?在哪里呢?还记得上一节我们封装时定义的引擎的模板路径么,当我们display方法显示某个模板时,模板引擎会去这个目录下找到相应的文件,交把我们assign定义的变量进行替换显示!

最近发表
标签列表