ThinkPHP3.2.3整合smarty模板(一)
一、php模板引擎有哪些?
1.1 PHPLIB:一套古老且主流的模板引擎,直接在html中使用PHP变量进行编程;
1.2 Template Blocks:一款轻巧且速度非常快的PHP模板引擎,支持xml语法;
1.3 TinyButStrong:小且强的模板,业界非常著名好用的模板引擎,直接支持Dreamweaver插件编辑;
1.4 Rain TPL:易于使用和安装引擎,有6个标签,3个PHP函数和2个PHP类,支持对模板中的相对路径自动转换为绝对路径;
1.5 PHPTAL:是一个ZPT的PHP执行。简而言之,PHPTAL是一个PHP下的XML/XHTML模板库;
1.6 PHP Template Engine:类似于PHPLIB,但支持在模板中使用Cookie、Session。
使用特定的语法的模板引擎由于性能问题,近年来受到一些诟病,但由于其能够真正将界面设计人员与PHP开发人员很好的分离,所以在大型项目开发中具有不可替代的作用,而这一类的模板引擎最流行的就是Smarty了。
二、什么是Smarty?
Smarty是PHP中一套非常完善、强大的PHP模板引擎,真正实现了PHP代码与界面html代码的分离,尽管php技术已经发展的非常的完善,各种MVC框架的出现实现了Smarty代码分离的功能,但Smarty凭借着稳定的性能、高效的模板标签、灵活的扩展机制,使其仍然具有不可替代的作用。
三、开启ThinkPHP模板扩展
3.1 在配置文件里面加上一下配置代码:
'TMPL_ENGINE_TYPE' => 'smarty',
'TMPL_TEMPLATE_SUFFIX' => '.html',
'TMPL_ENGINE_CONFIG' => array(
'template_dir' => ROOT_PATH . 'Template/',
'cache_dir' => CACHE_PATH,
'config_dir' => ROOT_PATH . 'Template/Conf/',
'compile_dir' => ROOT_PATH . 'Template/Runtime/compiles',
'compile_check' => true,
'use_sub_dirs' => true,
'caching' => false,
'left_delimiter' => '<--{',
'right_delimiter' => '}-->',
'plugins_dir' => APP_PATH . 'Smarty/Plugins/',
)
3.2 在控制器里面写上一下代码:
public function index(){
$this->assign('pageTitle', '网页标题');
$this->assign('pageContent', '这是网页内容');
$this->display();
}
3.3 测试:

四、整合完成。
ThinkPHP3.2.3整合smarty模板(一)的更多相关文章
- ThinkPHP3.2.3整合smarty模板(二)
前言:继ThinkPHP3.2.3整合smarty模板(一)之后,继续来探讨一下tp框架整合smarty模板,看到有人在群上问到怎么使用自定义的常量,今天就具体来谈谈: 一.开发一个项目,必不可少会用 ...
- ThinkPHP3.2.3整合smarty模板(三)
在smarty模板中使用thinkphp框架的U方法时要主要的问题: 1.不能直接使用{:U('Index/index')}: 2.正确的使用方法为:<!--{U("Login/log ...
- Ci框架整合smarty模板引擎
Ci框架整合smarty模板引擎 备注:下载smarty时,最好选择2.6版本,其他测试有坑,ci可以是2.2或其他 大体思路:将smarty封装成ci框架的一个类,然后重新配置一下smarty,这样 ...
- 解决thinkPHP3.2.3使用Smarty模板后无法使用系统常量问题
https://blog.csdn.net/u014520745/article/details/52029411 在ThinkPHP/Library/Think/View.class.php 输出模 ...
- 深入浅出之Smarty模板引擎工作机制(一)
深入浅出Smarty模板引擎工作机制,我们将对比使用smarty模板引擎和没使用smarty模板引擎的两种开发方式的区别,并动手开发一个自己的模板引擎,以便加深对smarty模板引擎工作机制的理解. ...
- ThinkPHP3.1.3 整合 UEditor百度编辑器 图片上传
第一步.前端模板实例化百度编辑器 <js file='__ROOT__/Data/UEditor/ueditor.config.js' /> <js file='__ROOT__/D ...
- ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案
好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...
- 12月15日下午Smarty模板函数
1.{$var=...} 这是{assign}函数的简写版,你可以直接赋值给模版,也可以为数组元素赋值. <{$a = 10}><!--赋值语句--> <{$a}> ...
- 12月15日smarty模板基本语法
smarty基本语法: 1.注释:<{* this is a comment *}>,注意左右分隔符的写法,要和自己定义的一致. <{* I am a Smarty comment, ...
随机推荐
- MariaDB的GTID复制和多源复制
什么是GTID? GTID就是全局事务ID(global transaction identifier ),最初由google实现,官方MySQL在5.6才加入该功能.GTID实际上是由UUID+TI ...
- Linux驱动开发概述
原文出处:http://www.cnblogs.com/jacklu/p/4722563.html Linux设备分类 设备的驱动程序也要像裸机程序那样进行一些硬件操作,不同的是驱动程序需要" ...
- Cmake的交叉编译
http://www.cmake.org/Wiki/CMake_Cross_Compiling
- [django]Django站点admin支持中文显示和输入设置
正文: Django站点admin支持中文输入设置,操作如下: 1 需要确定的你的数据库的client客户端和服务端的编码设置为utf-8,如果不是,请将其设置成utf-8编码,我采用mysql,详情 ...
- ThreadLocal()理解
在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路.使用这个工具类可以很简洁地编写出优美的多线程程序. 当使用 ...
- simpleCart的简单使用及配置
simpleCart的功能就不用解释,购物车,很6.官网上的说明太模糊了,还是GIHUb上的好一点:https://github.com/wojodesign/simplecart-js/ 文章解决问 ...
- Linux下部署docker记录(1)-Volume使用
之前部署了Linux下部署docker记录(0)-基础环境安装,接下来看看Docker Volume的使用. Docker volume使用1)一个数据卷是一个特别指定的目录,该目录利用容器的UFS文 ...
- ThreadLocal实现方式&使用介绍—无锁化线程封闭
原文出处: xieyu_zy 虽然现在可以说很多程序员会用ThreadLocal,但是我相信大多数程序员还不知道ThreadLocal,而使用ThreadLocal的程序员大多只是知道其然而不知其所以 ...
- 基于jquery的bootstrap在线文本编辑器插件Summernote
Summernote是一个基于jquery的bootstrap超级简单WYSIWYG在线编辑器.Summernote非常的轻量级,大小只有30KB,支持Safari,Chrome,Firefox.Op ...
- web前端
设置透明: filter: alpha(opacity=70); opacity: 0.7; 设置文字与文字之间的间隙 letter-spacing: 5px; 设置单词与单词之间的间隙 word-s ...