關於把PHP模版引擎smarty2升級到smarty3的一些見解

1.背景

  最近由於公司Fleaphp框架使用了比較老的PHP模版引擎Smarty2,使得對接前端頁面時,解析某些特殊數據和數據邏輯處理上用得特別不順手,後發現Smarty3解決了很多Smarty2的不足,故因此把框架的模版引擎進行升級。

2.升級過程

  首先到Smarty的官網下載3的版本,下載解壓Smarty3的核心文件夾lib,把lib文件夾重命名爲Smarty3,拉入到原Smarty2的同級目錄下,接着修改配置文件,把指向Smaty2目錄的配置信息修改爲Smarty3的目錄。
  
  如果項目框架裏有繼承Smarty.class.php裏的Smarty類,可能需要進行進行改寫,因爲Smarty3丟棄了很多Smarty2的方法,或者說是升級了很多方法,並改寫了命名方式,比如register_functionregister_modifier,如果你改寫的類裏有使用到這些方法,那麼只需要進行兩部分的修改。
  
  1.在下載的Smarty3的核心文件下lib裏,我們可以看到有一個SmartyBC類,該類的作用就是爲了使Smarty3兼容Smarty2使用的一些舊方法,所以把繼承Smarty的文件修改爲繼承SmartyBC。
  
  2.接着在把引用父類的構造函數 parent::__Smarty();改寫 parent::__construct();,因爲smarty2的版本使用的php3,4的老方式構造方法寫法,而在Smarty3我們可以發現所有類裏使用的都是新版的構造方法寫法。
  
  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章