您的位置:首页 > 编程语言 > PHP开发

关于把PHP模版引擎smarty2升级到smarty3的一些见解

2017-11-02 10:48 477 查看

1.背景

  最近由于公司Fleaphp框架使用了比较老的PHP模版引擎Smarty2,使得对接前端页面时,解析某些特殊数据和数据逻辑处理上用得特别不顺手,后发现Smarty3解决了很多Smarty2的不足,故因此把框架的模版引擎进行升级。

2.升级过程

  首先到Smarty的官网下载3的版本,下载解压Smarty3的核心文件夹lib,把lib文件夹重命名为Smarty3,拉入到原Smarty2的同级目录下,接着修改配置文件,把指向Smaty2目录的配置信息修改为Smarty3的目录。

  

  如果项目框架里有继承Smarty.class.php里的Smarty类,可能需要进行进行改写,因为Smarty3丢弃了很多Smarty2的方法,或者说是升级了很多方法,并改写了命名方式,比如
register_function
register_modifier
,如果你改写的类里有使用到这些方法,那么只需要进行两部分的修改。

  

  1.在下载的Smarty3的核心文件下lib里,我们可以看到有一个SmartyBC类,该类的作用就是为了使Smarty3兼容Smarty2使用的一些旧方法,所以把继承Smarty的文件修改为继承SmartyBC。

  

  2.接着在把引用父类的构造函数
parent::__Smarty();
改写
parent::__construct();
,因为smarty2的版本使用的php3,4的老方式构造方法写法,而在Smarty3我们可以发现所有类里使用的都是新版的构造方法写法。

  

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php smarty