一、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模板(一)的更多相关文章

  1. ThinkPHP3.2.3整合smarty模板(二)

    前言:继ThinkPHP3.2.3整合smarty模板(一)之后,继续来探讨一下tp框架整合smarty模板,看到有人在群上问到怎么使用自定义的常量,今天就具体来谈谈: 一.开发一个项目,必不可少会用 ...

  2. ThinkPHP3.2.3整合smarty模板(三)

    在smarty模板中使用thinkphp框架的U方法时要主要的问题: 1.不能直接使用{:U('Index/index')}: 2.正确的使用方法为:<!--{U("Login/log ...

  3. Ci框架整合smarty模板引擎

    Ci框架整合smarty模板引擎 备注:下载smarty时,最好选择2.6版本,其他测试有坑,ci可以是2.2或其他 大体思路:将smarty封装成ci框架的一个类,然后重新配置一下smarty,这样 ...

  4. 解决thinkPHP3.2.3使用Smarty模板后无法使用系统常量问题

    https://blog.csdn.net/u014520745/article/details/52029411 在ThinkPHP/Library/Think/View.class.php 输出模 ...

  5. 深入浅出之Smarty模板引擎工作机制(一)

    深入浅出Smarty模板引擎工作机制,我们将对比使用smarty模板引擎和没使用smarty模板引擎的两种开发方式的区别,并动手开发一个自己的模板引擎,以便加深对smarty模板引擎工作机制的理解. ...

  6. ThinkPHP3.1.3 整合 UEditor百度编辑器 图片上传

    第一步.前端模板实例化百度编辑器 <js file='__ROOT__/Data/UEditor/ueditor.config.js' /> <js file='__ROOT__/D ...

  7. ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案

    好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...

  8. 12月15日下午Smarty模板函数

    1.{$var=...} 这是{assign}函数的简写版,你可以直接赋值给模版,也可以为数组元素赋值. <{$a = 10}><!--赋值语句--> <{$a}> ...

  9. 12月15日smarty模板基本语法

    smarty基本语法: 1.注释:<{* this is a comment *}>,注意左右分隔符的写法,要和自己定义的一致. <{* I am a Smarty comment, ...

随机推荐

  1. Ubuntu 网络参数设置

    修改网络设置 sudo vim /etc/network/interfaces 修改计算机名 sudo vim /etc/hostname sudo vim /etc/hosts

  2. On having layout

    英文原文在此:http://www.satzansatz.de/cssd/onhavinglayout.htm 介绍 Internet Explorer 中有很多奇怪的渲染问题可以通过赋予其“layo ...

  3. C#学习笔记-数据的传递以及ToolStripProgressBar

    代码: 方法一:窗体的代码-->可以直接通过预设的Click事件来实现控制进度条. public partial class Form1 : Form { public Form1() { In ...

  4. 单元测试实战 - Junit测试

    一.对加法函数进行测试 1.实例化被测单元(方法):类名 实例名=new 类名([参数]) 2.调用被测单元,对比预期值和输出值(实际值): 在没有junit测试工具的情况下,我们要进行如下的测试代码 ...

  5. COGS247. 售票系统[线段树 RMQ]

    247. 售票系统 ★★☆   输入文件:railway.in   输出文件:railway.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述] 某次列车途经C个城市,城市 ...

  6. Spring多种注入方式及注解实现DI

    一.Bean作用域 spring容器创建的时候,会将所有配置的bean对象创建出来,默认bean都是单例的.代码通过getBean()方法从容器获取指定的bean实例,容器首先会调用Bean类的无参构 ...

  7. ajax返回值中有回车换行、空格的解决方法分享

    最近在写一个页面,用jquery ajax来实现判断,刚写好测试完全没有问题,过了两天发现出现问题,判断不成了.后来发现所有alert出来的返回值前面都会加若干换行和空格.(至今不明白,同一台电脑,同 ...

  8. SQLite剖析之数据类型

    许多SQL数据库引擎(除SQLite之外的各种SQL数据库引擎)使用静态.严格的数据类型.对于静态类型,一个值的数据类型由它的容器,即存储这个值的列来决定.SQLite则使用更加通用的动态类型系统.在 ...

  9. 【jQuery】scroll 滚动到顶部

    Jquery 实现页面滚动到顶端 $(document).ready(function () { // 滚动窗口来判断按钮显示或隐藏 $(window).scroll(function () { // ...

  10. Ubuntu 14 設定 遠端連線,讓別台電腦可以連線進來

    Ubuntu 14 需 disable 加密,方可 遠端連線 此台電腦 xxx@xxx-ThinkPad-T460p:~$ gsettings set org.gnome.Vino require-e ...