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, ...
随机推荐
- [原创]基于rsync算法的目的性改进-RexSync
rsync是一种文件差异传输的算法,特点是高效且相似块识别率较高.具体算法这边就不赘述,网上很多,官方文档也描述的很清楚. rsync提高文件比对效率的一个核心算法之一就是rolling checks ...
- 将Apache手动安装成Windows的服务
将Apache手动安装成Windows的服务 可以选择在安装Apache时自动将其安装为一个服务.如果选择"for all users",那么Apache将会被安装为服务. 如果选 ...
- C#创建委托实例
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MyDe ...
- 重构与模式(Refactoring to Patterns)-读书笔记
第一章 ☛过度设计:是指代码的灵活性和复杂性超出所需. 第二章 ☛重构是一种保持行为的转换. 第三章 ☛每一个模式都是由三部分组成的规则,他表达的是某一环境,一个问题以及解决问题的方案之间的关系. ☛ ...
- POJ 2914 Minimum Cut
Minimum Cut Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 9319 Accepted: 3910 Case ...
- Metasploit爆破tcpwrapped服务
转自:http://www.mamicode.com/info-detail-1653722.html 一.利用nmap工具扫描目标主机 1.1 使用nmap命令对目标主机进行扫描. 1.2 在终端中 ...
- 一份关于Swift语言学习资源的整理文件
一份关于Swift语言学习资源的整理文件 周银辉 在这里下载 https://github.com/ipader/SwiftGuide
- Type.IsContextful 说明
首先看MSDN的说明: 中文:获取一个值,通过该值指示 Type 在上下文中是否可以被承载. 英文:Gets a value indicating whether the Type can be ho ...
- JS系列——Linq to js使用小结
前言:前面几篇介绍了下C#基础技术中的几个:反射.特性.泛型.序列化.扩展方法.Linq to Xml等,本来还有两三个知识点没有写完,比如委托.多线程.异步等,后面会陆续将它们补起来,以便作为一套完 ...
- Xcode调试技巧(断点和重构)
首先是最简单的普通断点有时候不知道是那个方法调用的崩溃的这个方法,传了个奇怪的值,打个断点就就可以在左侧工具栏里看到最近几个方法执行的循序,和那个方法调用的本方法,一般小问题在这里就可以解决啦~ 条件 ...