首頁 > 網際網路

Fuelphp框架完美整合Smarty模樣引擎

2019-12-13 23:50:24

在開發過程中因超喜歡Ruby on rails的敏捷開發 ,才和Fuelphp框架結緣.fulephp框架中提供小手架,只要一行程式碼就可以搞定一個模組,就這就是我喜歡它的原因,但是fuelphp框架預設的是php原生態的模板引擎方式,再加上我一同事也整合過smarty模板進去到fuelphp框架裡面,我看了他的整理方法之後,雖然實現了整合效果,但是我感覺有點破壞了fulephp的模板引擎目錄結構,於是犯有強迫症或者完美主義的我決定按照fuelphp框架的流程整合一次smarty模板引擎,所以這篇經驗就這樣誕生了!


1

首先沒有什麼要說的要使用框架開發專案當然的下載框架,按照上面的提到的工具下載安裝並解壓!



2

然後檢測一下自己的xampp整合環境安裝是否正確,如果正確的話,設定一個虛擬目錄,方便測試使用

      1.編輯自己xampp安裝目錄下面的虛擬主機的組態檔

           例如我的D:xamppapacheconfextrahttpd-vhosts.conf      2.設定一下原生的hosts檔案做一個IP和域名的對映關係

            C:WindowsSystem32driversetchosts

      3.當然修改完httpd-vhosts.conf要重新啟動apapche的

最後如果不出以為就可以看到fulephp的歡迎頁面.

            




3

接下來可以大體跟著框架的api說明了解一下框架的目錄結構,這裡就不再說這個了,如果想真正了解的框架的特別,強烈推薦看框架的原始碼,多看幾遍對你幫助保證很大.那我們看一下fulephp的歡迎頁面的控制器和模板了!



4

最終我們要看到的控制器和模板應該是這樣的,如果想問為什麼想這麼寫的話你的看一下手冊了,因為這次的主題是fuelphp+smarty的整合



5

當然你現在執行這個保證報錯了,因為我們還麼有設定那,接下來就開始設定

     1.找到fuelph框架的這個目錄

         D:xampphtdocsfuel_devfuelvendor

      2.新建一個smarty巢狀smarty的目錄

         D:xampphtdocsfuel_devfuelvendorsmartysmarty

     3.最後把我們剛才下載好的smarty模板引擎的libs拷貝到這個目錄下面來



6

找到fuelphp框架的一下目錄修改此檔案,並追加smarty的相關呼叫檔案

   D:xampphtdocsfuel_devfuelvendorcomposerautoload_classmap.php

追加內容為return array(    'Smarty' => $vendorDir . '/smarty/smarty/libs/Smarty.class.php',    'SmartyBC' => $vendorDir . '/smarty/smarty/libs/SmartyBC.class.php',    'SmartyCompilerException' => $vendorDir . '/smarty/smarty/libs/Smarty.class.php',    'SmartyException' => $vendorDir . '/smarty/smarty/libs/Smarty.class.php',    'Smarty_Security' => $vendorDir . '/smarty/smarty/libs/sysplugins/smarty_security.php',);



7

接下來修改一下模板的的字尾名和smarty的左右定界符,個人建議使用<!---{和}-->用這樣的定界符即使出現錯誤在頁面上也不會展示出來,另一方就是避免和javascript和css的{}混淆!

修改檔案對應為

 D:xampphtdocsfuel_devfuelpackagesparserclassesviewsmarty.php

的42-43

  //public $extension = 'smarty';  public $extension = 'tpl';

D:xampphtdocsfuel_devfuelpackagesparserconfigparser.php

的154-155

     //'delimiters'    => array('left' => '{', 'right' => '}'),      'delimiters'    => array('left' => '<!--{', 'right' => '}-->'),

最後把模板index.tpl裡面的定界符也對應修一下




8

最後修改一下fuelphp框架的組態檔讓fuelphp執行就載入smarty模板引擎,對應修改檔案為

  D:xampphtdocsfuel_devfuelappconfigconfig.php

大約在261行和274--277 和313行


9

最後重新整理頁面smarty的語法成功被解析,而且還沒有破壞fulephp的目錄結構,開始我們的fuelphp之旅吧.



IT145.com E-mail:sddin#qq.com