Smarty 由 2.X升级到3.X遇到的问题

首先这是一个大概4年前做的PHP项目,使用的是Zend Framework 1 + Smarty 2 , 已经很多年没有动过了,

最近抽风了,把这个项目要玩改版。拿出来改改吧。

ZF 升级2这事,还是再考虑一下。毕竟项目结构要改变。

Smarty由2升级为3还是可以考虑一下。

 

下载最新版Smarty ,主要是为了使用它自带的支持类似于.net MVC 中的layout特性。当然ZF有Layout,但以前就是直接用Smarty,就直接升级吧。

 

遇到的问题。

  • ZF整合的过程中,发现 Smarty2与Smarty 3的代码改动不小,直接使用原来Smarty2与ZF的整合方式不行了。换吧,参考:

http://gediminasm.org/post/smarty-3-extension-for-zend-framework

 

  • 原来在Smarty 2 中如果不赋值,就按空或False来进行处理了。但Smarty3要求已经严格了,只要不赋值就给出警告,为了改动小些,在smarty实例化后,加入一行 $this->_smarty->error_reporting = E_ALL & ~E_NOTICE; 这是一个XX的办法,不值得推荐。就先凑合着吧。

 

  • 如果打算使用 {php}{/php} 这个标签,那就使用 SmartyBC class 吧。
  • require_once ‘Smarty/SmartyBC.class.php‘;
            $this->_smarty = new SmartyBC ();

     

时间: 2024-11-25 20:39:28

Smarty 由 2.X升级到3.X遇到的问题的相关文章

(13) PHP 随笔---Smarty模板引擎 缓存的高级应用 22

◇缓存集合(单模板多缓存的升级用法):一个模板可以变着花样的生成许多缓存文件 ◇最主要的代码为: $smarty -> display('cacheList.html',$brand."|".$price."|".$network."|".$big); ◇它会将各种参数进行排列组合,生成所有的缓存文件的组合,供用户浏览. ◇缓存删除: ◇clearCache(模板名称)     //删除该模板对应的全部缓存文件   ◇clearCache(

将Ecshop后台fckeditor升级更改为kindeditor 4.1.10编辑器

ecshop在win8部分电脑上,不管用任何浏览器,都打不开,即使升级到最新版本都不行,问题应该吃在fckeditor兼容上.fckeditor 很久未升级,换掉该编辑器是最佳方法 第一步:下载kindeditor,下载地址为:http://www.kindsoft.net/down.php 下载最新版本的,现在是4.1.10 下载之后,把里面不要的语言和演示文件删除,有,asp.asp.net jsp和examples四个文件夹删掉. 把文件夹改名为:kindeditor,然后上传到根目录in

6月3 Smarty基础读取配置

Smarty百科 Smarty是一个php模板引擎.更准确的说,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法.可以描述为应用程序员和美工扮演了不同的角色,因为在大多数情况下 ,他们不可能是同一个人.例如,你正在创建一个用于浏览新闻的网页,新闻标题,标签栏,作者和内容等都是内容要素,他们并不包含应该怎样去呈现.在Smarty的程序里,这些被忽略了.模板设计者们编辑模板,组合使用html标签和模板标签去格式化这些要素的输出(html表格,背景色,字体大小,样式表,等等).有一天程序员想要改

Smarty教程1.引擎定义2.主要优点3.简明教程4.使用判断5.循环数组6.常见问题8.解释程序

Smarty是一个php模板引擎.更准确的说,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法.可以描述为应用程序员和美工扮演了不同的角色,因为在大多数情况下 ,他们不可能是同一个人.例如,你正在创建一个用于浏览新闻的网页,新闻标题,标签栏,作者和内容等都是内容要素,他们并不包含应该怎样去呈现.在Smarty的程序里,这些被忽略了.模板设计者们编辑模板,组合使用html标签和模板标签去格式化这些要素的输出(html表格,背景色,字体大小,样式表,等等).有一天程序员想要改变文章检索的方式(

Smarty总结

一般来说在真实的项目开发的过程中,要做到业务分离以便于后期的项目升级以及后续的维护,之前的做法都是混编模式.混编模式虽然在响应速度上比较快,但是前端代码和后端代码纠结到一起是非常混乱的,要解决这个问题,于是就引入了smarty这个东西,也就是模板引擎技术.模板引擎技术就是将HTML代码和php代码分开来,体现在模板文件上的代码是前端开发人员能够快速理解和使用的.基本的步骤如下: 建立一个php文件用来加载模板文件以及处理相关的业务逻辑,在建立一个模板文件用来实现数据库数据在模板文件中的动态化展示

smarty模版引擎

模板技术 概述:一般情况下在HTML中实现某些动态数据显示功能时,会在HTML文件中插入一些PHP语句来实现动态数据显示的功能,但是PHP代码和HTML混编在一起不利于网站的改版和升级.因此模板机制便应运而生. 基本原理: 视图文件 在需要插入动态数据的部分使用一段特定的字符替代(此处使用了{$title}和{$content}) PHP文件 第二步:数据库中提取相应的动态数据,赋给变量.此处省略从数据库中提取数据的部分 第三步:加载视图文件的文本内容,并赋值给一个变量 第四步:替换读取的视图文

1、SMARTY模板简介说明

Smarty是一个php模板引擎.更准确的说,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法.可以描述为应用程序员和美工扮演了不同的角色,因为在大多数情况下 ,他们不可能是同一个人.例如,你正在创建一个用于浏览新闻的网页,新闻标题,标签栏,作者和内容等都是内容要素,他们并不包含应该怎样去呈现.在Smarty的程序里,这些被忽略了.模板设计者们编辑模板,组合使用html标签和模板标签去格式化这些要素的输出(html表格,背景色,字体大小,样式表,等等).有一天程序员想要改变文章检索的方式(

一、SMARTY安装于配置文件

安装Smarty发行版在/libs/目录里的库文件(就是解压了). 这些php文件你可不能乱画哦.这些文件被所有应用程序共享,也只能在你升级到新版的smarty的时候得到更新. Smarty手册范例 2-1.Smarty库文件 Smarty.class.php Smarty_Compiler.class.php Config_File.class.php debug.tpl /core/*.php (all of them) /plugins/*.php (all of them) Smarty

ubuntu下卸载python2和升级python3.5

卸载python只需一条语句就可以实现 sudu apt-get remove python ubuntu下安装python3 sudo apt-get install python3 但这样只安装了python3.4 要想使用python3.5,则必须升级python3.4 sudo add-apt-repository ppa:fkrull/deadsnakes sudo apt-get update sudo apt-get install python3.5 使用以上三行命令便可升级py