smarty配置和变量小总结

原创 2018-12-30 16:40:03 239
摘要:<?php //config.php /*smarty配置文件*/ require_once __DIR__.'/../vendor/autoload.php';//composer下载的smarty $smarty = new Smarty(); $smarty->setTemplateDir(__DIR__.'/.
<?php
//config.php
/*smarty配置文件*/
require_once __DIR__.'/../vendor/autoload.php';//composer下载的smarty

$smarty = new Smarty();

$smarty->setTemplateDir(__DIR__.'/../temp');//配置模板目录
$smarty->setCompileDir(__DIR__.'/../temp_c');//配置编译目录
$smarty->setConfigDir(__DIR__.'/../config');//配置配置文件目录
$smarty->setCacheDir(__DIR__.'/../cache');//配置缓存目录

$smarty->setLeftDelimiter('{');//配置模板变量左边解析符
$smarty->setRightDelimiter('}');//配置模板变量右边解析符

$smarty->setCaching(false);//是否开启缓存
<?php
//访问的脚本文件demo1.php
require __DIR__.'/config/config.php';
//数组
$books=[
  ['bookid'=>1,'title'=>'php从入门到放弃','price'=>98],
  ['bookid'=>2,'title'=>'mysql从入门到放弃','price'=>43],
];

//对象
class Test
{
    public $name='admin';
    public function welcome()
    {
        return '欢迎来到php中文网';
    }
}
$test = new Test();
//函数
function add($a,$b)
{
    return $a+$b;
}
//常量
const SITE_NAME='php中文网';

//系统变量
$_POST['user'] = 'admin';
$_GET['page'] = 10;
$_SESSION['passwd'] = sha1('123456');

$smarty->assign('books',$books);

$smarty->assign('test',$test);

$smarty->display('demo1.html');
{* 渲染的模板demo1.html *}
{* 模板解析数组 *}
第{$books.0.bookid},书名是《{$books.0.title}》,价格是{$books.0.price}<br>
第{$books.1.bookid},书名是《{$books.1.title}》,价格是{$books.1.price}<br>
{* 模板解析对象 *}
{$test->name},{$test->welcome()}<br>
{* 模板调用自定义函数,并传入变量作为参数 *}
{add($books.0.price,20)}<br>
{* 模板解析常量 *}
{$smarty.const.SITE_NAME}<br>
{* 显示系统变量 *}
{$smarty.post.user}<br>
{$smarty.get.page}<br>
{$smarty.session.passwd}<br>
{* 读取配置文件信息 *}
{config_load file='website.conf' section='db'}
{$smarty.config.website}<br>
{$smarty.config.course}

配置文件信息

#网站配置信息
website=php中文网
webdomain=www.php.cn
[db]
host=localhost
user=root
pass=root
dbname=test

{* 渲染的模板demo1.html *}
{* 模板解析数组 *}
第{$books.0.bookid},书名是《{$books.0.title}》,价格是{$books.0.price}<br>
第{$books.1.bookid},书名是《{$books.1.title}》,价格是{$books.1.price}<br>
{* 模板解析对象 *}
{$test->name},{$test->welcome()}<br>
{* 模板调用自定义函数,并传入变量作为参数 *}
{add($books.0.price,20)}<br>
{* 模板解析常量 *}
{$smarty.const.SITE_NAME}<br>
{* 显示系统变量 *}
{$smarty.post.user}<br>
{$smarty.get.page}<br>
{$smarty.session.passwd}<br>
{* 读取配置文件信息 *}
{config_load file='website.conf' section='db'}
{$smarty.config.website}<br>
{$smarty.config.host}

运行结果:

QQ图片20181114103819.png

批改老师:天蓬老师批改时间:2018-12-30 17:50:29
老师总结:学习这些模板技术的有一个好办法 , 就是直接查看生成的编译文件, 就全明白了

发布手记

热门词条