yii2集成smarty [ 2.0 版本 ]
yii2框架集成smarty模板
1.进入https://packagist.org/搜索yiisoft可以找出yiisoft/yii2-smarty已经收录到coposer
2.进入yii2/yii2-smarty项目内可以看到安装方法
php composer.phar require --prefer-dist yiisoft/yii2-smarty
3.点击项目中docs/guide/README.md有安装说明,配置文件添加
return [
//....
'components' => [
'view' => [
'renderers' => [
'tpl' => [
'class' => 'yii\smarty\ViewRenderer',
//'cachePath' => '@runtime/Smarty/cache',
],
],
],
],
];
4.在控制器写入
public function actionTest() {
return $this->render('test.tpl',['test'=>'smarty']);
}
其中test.tpl是完整的文件名
<div>123456{$test}</div>
5.测试输出
123456smarty
wodrow China
注册时间:2015-04-09
最后登录:9小时前
在线时长:198小时54分
最后登录:9小时前
在线时长:198小时54分
- 粉丝34
- 金钱42535
- 威望120
- 积分45715
共 7 条评论
貌似没必要在加个smarty模版引擎,最后还是转成php编译的,个人见解
就看是否需要了
smarty能让前端开发的东西更好维护些
整合后又个问题 就是你用模板输出时间 会发现 变量的值还是不变的样子
你是怎么输出时间的啊
@wodrow
// 请教一个问题 YII整合了Smarty 然后输出的时间 // 模板里面的时间是不变的 但是PHP赋值的时间已经变了 $abc = date("Y-m-d H:i:s",time()); echo $abc;//这个时间已经变化了 //模板输出的时间 还是最早的那个时间 没有任何变化 $this->smarty->assign('abc',$abc); $this->smarty->display('index/index.html');
我的composer安装失败,请问如果自己下载了smarty的库要怎么集成啊?
那你还是学学用composer吧,现在很流行的php依赖管理工具
// 请教一个问题 YII整合了Smarty 然后输出的时间 // 模板里面的时间是不变的 但是PHP赋值的时间已经变了 $abc = date("Y-m-d H:i:s",time()); echo $abc;//这个时间已经变化了 //模板输出的时间 还是最早的那个时间 没有任何变化 $this->smarty->assign('abc',$abc); $this->smarty->display('index/index.html');
你用yii的render方法试试吧,不要用smarty原来的方法
@wodrow 用render 那输出的 怎么用smarty的标签呢 ?
集成不成功,有那么朋友有遇到
PHP Fatal Error – yii\base\ErrorException
Class 'Smarty' not found
yii2 整合smarty 'cachePath' => '@runtime/Smarty/cache' 但是 没有生成cache文件 为啥?
程序运行起来后,会自动生成对应的文件夹及文件。