require 'smarty.inc.php';

global $_smarty;//访问引入文件的变量

//分配变量

#普通变量

#该函数还有第三个参数,设置是否启用缓冲,如果为true,

#变量将不被缓冲

$_smarty->assign('title','虎哥开始学习smarty了');//给前端基本变量赋值

// $_smarty->assignByRef():同上,只是按照引用赋值

#数组

$arr1= array('协调','毛姐');//索引数组

$arr2=array('name'=>'huge','sex'=>'男');//关联数组

$arr3=array('world'=>array('china'=>'河北'));//二维数组

$_smarty->assign('arr1',$arr1);

$_smarty->assign('arr2',$arr2);

$_smarty->assign('arr3',$arr3);

$_smarty->assign('str',' hello x3 aAA');//用于变量修饰器测试

$_smarty->assign('str1','I love ');

$str2="War Dims Hope for Peace. Child's Death Ruins

Couple's Holiday.Man is Fatally Slain. Death Causes Loneliness, Feeling of Isolation.";

$_smarty->assign('str2',$str2);

$_smarty->assign('myname','huge');

$_smarty->assign('len',5);

$arr4=array(1001=>'Hello',1002=>'World',1003=>'Thanks');

$_smarty->assign('arr4',$arr4);

$arr5=range(1,9);

$_smarty->assign( 'tr', array('bgcolor="#eeeeee"','bgcolor="#dddddd"') );

#clear_all_cache();//清空所有的缓冲

#$_smarty->clearAllCache();

#clear_cache();//清空指定的缓冲

$_smarty->addConfigDir('./config_1');#添加文件目录

//$_smarty->setConfigDir('./config_2');//配置文件只有一个目录了

/*

类似的还有:

addTemplateDir('filename'):添加模板文件目录

addPluginsDir(filename):添加插件目录

getCacheDir():获取缓冲目录

setCacheDir(filename):设置缓冲目录

getCompileDir():获取编译目录

setCompileDir(filename):设置编译目录

getConfigDir():获取配置文件目录

setConfigDir(filename):设置配置文件目录

getPluginsDir():获取插件目录

setPluginsDir(filename):设置插件目录

setTemplateDir(filename):设置模板目录

*/

// 以上函数设置目录的都可以传入关联数组或函数连用,eg

/*

$_smarty->setConfigDir(array(

'one'=>'config1',

'two'=>'config2',

'three'=>'config3'

));

*/

#方法连用

/*

$_smarty->setConfigDir('config1','one')

->setCompileDir('config2','two');

*/

// $arr6=$_smarty->getConfigDir();//获取文件目录

// print_r($arr6);

//append:为数组添加值

$_smarty->append('arr5','1');//和assign一样,放在html_table中会出错

$_smarty->append('arr5','2');

$_smarty->append('arr5',$arr5);

//appendByRef():和append一样,只是通过引用为数组添加值

// $_smarty->clearAllAssign();//清空全部分配变量

// 类似的还有:

// clearAllCache:清空全部缓冲

// clearAssign('name'):清空指定的值,如果清空多个值的话可以用关联数组

// clearAssign('demo1.tpl'):清空指定的模板的缓冲,另外还可以设置指定缓

// 冲id,编译id,生命周期的缓冲

// clearCompiledTemplate:清空编译模板文件,参数同上

// clearCofig():清除配置,如果指定变量名,则清空指定的变量

// $_smarty->compileAllConfig('.conf');//编译所有的配置文件,参数有

// 文件后缀;是否强制编译所有文件,false表示只编译修改过的文件;

// timelimit:设定模板编译过程的时间限制,默认无限制;最有一个参

// 数是设定最大错误次数,超过了这个次数,就停止编译

/*

类似的函数含有

compileAllTemplates:编译全部的模板,参数同上

*/

// $_smarty->configLoad('filename'):加载配置文件,功能同{cofigLoad}标签

/*

$data = $_smarty->createData();//创建一个数据对象,以保存赋值

// 赋值到数据对象

$data->assign('foo','bar');

//创建模板对象,并将数据对象载入到其中作为赋值

$tpl=$_smarty->createTemplate('demo1.tpl',$data);

$tpl->display();

*/

/*

$_smarty->disableSecurity();//关闭安全机制

$_smarty->enableSecurity();//开启安全机制

*/

// $_smarty->fetch('template');//抓取模板内容并显示

// $_smarty->getConfigVars(varname):获取预配置变量,未设置参数时,获取所有变量

// $_smarty->getRegisteredObject(objname):获取已注册对象

/*

$tpl=$_smarty->createTemplate('demo1.tpl');

$tags=$_smarty->getTags($tpl);//获取模板中的所有标签

print_r($tags);

*/

// $_smarty->getTemplateVars();//获取模板变量,如果不设置名称,将获取所有变量

/*

if($_smarty->isCached('demo1.tpl')){//判断指定的模板是否开启缓冲

echo '已缓冲';

}else{

echo '未缓冲';

}

*/

// $_smarty->loadFilter('pre','trim');//载入过滤器

// $_smarty->muteExpectedErrors():忽略脚本警告信息

// $_smarty->unmuteExpectedErrors():移除当前自定义的错误处理器

//注册缓冲资源

// $_smarty->registerCacheResource('name','resourcehandler');

//$_smarty->registerCacheResource('name'):注销缓冲资源

class myclass

{

public static $property='这是一个类的属性';

function __construct(){

}

}

$_smarty->registerClass('myclass','myclass');//注册类

// $_smarty->registerDefaultPluginHandler():注册默认的插件处理器

// $_smarty->registerFilter():注册过滤器

// unregisterFilter:注销过滤器

//registerResource():注册资源

//registerObject():注册对象

//unregisterObject():注销对象

// registerPlugins():注册插件

// unregisterPlugin:注销插件

#注册函数

function my_fn($arr){

return '参数值:'.$arr['param'];

}

$_smarty->registerPlugin('function','my_fun','my_fn');

function my_bk($param,$content){//注册块函数

$res="

$res.="'>";

$res.=$content;

$res.='

';

return $res;

}

$_smarty->registerPlugin('block','mybk','my_bk');

$_smarty->setCacheLifetime(3600);

//$abc=new Memchache();

$_smarty->display('demo1.tpl');

?>

php smarty 后台,smarty后台文件常用方法及说明相关推荐

  1. 【java】 linux下利用nohup后台运行jar文件包程序

    Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...

  2. PHP Smarty无法解析模板文件

    /******************************************************************************* PHP Smarty无法解析模板文件* ...

  3. SpringBoot后台java下载文件及注意的地方

    SpringBoot后台java下载文件及注意的地方 下载效果 后台关键代码 控制类中 @RequestMapping("/file") @ResponseBody public ...

  4. smarty引入html,php用Smarty模板生成html文件

    在Smarty模板函数里面有这样一个方法:fetch("template.htm"),他和display("template.htm");最大的不同就是fetc ...

  5. java pdf文件下载_Java后台返回PDF文件预览下载

    Java后台返回PDF文件预览下载 开始的代码的系统代码为: ResponseEntity onePdf = s3Wrapper.download(contractEntity.getContract ...

  6. 【bat】判断字符串是否包含某字符串;bat字符串截取;vbs 如何加入参数;Windows如何后台运行bat文件(没有命令提示符框);.bat文件设置自动关机以及弹框确认

    [bat]判断字符串是否包含某字符串: @echo off set a=55544333 set c=6666dfsfds set b=44 echo %a%| findstr %b% >nul ...

  7. ajax提交用流的方式,ajax 请求 后台返回的文件流

    download(url) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); // 也可以使用POST方式,根据接口 xhr. ...

  8. iCMS后台database.admincp文件存在SQL注入漏洞

    iCMS后台database.admincp文件存在SQL注入漏洞 目录 一.漏洞分析 二.漏洞测试 目录 该漏洞CNVD-ID: CNVD-2019-09079 漏洞提交CNVD后,待CNVD公示才 ...

  9. iApp后台带PHP文件源码全开源

    iApp后台带PHP文件源码全开源 喜欢的自己下载学习 学习资料地址:易对接.zip - 蓝奏云

  10. Java后台实现pdf文件在浏览器中预览

    Java后台实现pdf文件在浏览器中预览 放在服务器的pdf文件不能通过完整路径访问,想要实现的效果是浏览器访问后台接口可以预览pdf文件,暂时是把pdf文件放在本地测试 通过输出流的方式将pdf文件 ...

最新文章

  1. UI组件之AdapterView及其子类(三)Spinner控件详解
  2. 构造、拷贝构造、赋值、析构
  3. qt中append函数_Qt 加载cern-root库 并调用root类
  4. springboot项目启动成功后执行一段代码的两种方式
  5. 微软11月补丁星期二值得关注的6个0day及其它
  6. linux定时任务打印日志,Centos7(linux)使用crond服务定时执行js脚本并将脚本的输出内容记录日志文件的简单应用...
  7. PAT 乙级 1045 快速排序
  8. 为什么训练时测试准确率大幅度波动_Nature Mach Intell|类药性预测准确率有极限...
  9. java怎么设置颜色_java怎么设置颜色
  10. 51单片机实现蜂鸣器播放天空之城
  11. linux考试试题及答案填空题,2017年LINUX认证考试模拟试题(附答案)
  12. 如何留住你的员工——员工流失分析
  13. NB-IoT、LoRa逐渐商用 连接物联网长尾效应凸显
  14. FedEx v20.0.7654的CData驱动程序
  15. 自学php多久可以工作_PHP语言自学要多久才能工作
  16. 1089: 手机短号 (多实例)
  17. 在python中遍历字典元素
  18. 还有人在质疑数据挖掘是泡沫吗?千万不要叶公好龙
  19. 视频教程-Android Studio 开发详解-Android
  20. [JavaWeb]谁是卧底游戏制作(网络游戏)

热门文章

  1. [Luogu 1160] 队列安排
  2. CSRmesh Application
  3. Item 22: 当使用Pimpl机制时,在实现文件中给出特殊成员函数的实现
  4. python 操作access数据库
  5. 母版页的优点,及母版页与内容页中相互访问方法
  6. mac安装helm工具_适用于初学者的基本 kubectl 和 Helm 命令
  7. 拓端tecdat|Python中用Prophet模型对天气时间序列进行预测与异常检测
  8. 修改mysql字符集后如何生效_修改MySQL字符集
  9. db模块未绑定 Uncaught TypeError: Cannot read property 'openDatabase' of undefined
  10. 项目合作需求、数据集合作需求