EcShop之路-Smarty

國內私募機構九鼎控股打造APP,來就送 20元現金領取地址:http://jdb.jiudingcapital.com/phone.html
內部邀請碼:C8E245J (不寫邀請碼,沒有現金送)
國內私募機構九鼎控股打造,九鼎投資是在全國股份轉讓系統掛牌的公衆公司,股票代碼爲430719,爲中國PE第一股,市值超1000億元。 php

------------------------------------------------------------------------------------------------------------------------------------------------------------------html

 

來源:http://www.cnblogs.com/dequan-lee/archive/2009/08/06/1540621.htmlapi

目前市面上有不少針對PHPMVC模板,但Smarty無疑是在功能和速度上處於絕對領先地位的。MVC(Model-View-Controller)模型-視圖-控制器,相信你們對這個概念不陌生,老李也就不詳細解釋了。EcShop確定是要採用MVC架構的,不說你們也明白,網店市場的需求是變幻無窮的,客戶對頁面的外觀組織形式和頁面邏輯的要求可謂是「一千我的心中有一千個哈姆雷特」。爲了應對這種變化,EcShop必須採用MVC架構。這裏順便提一下,老李不是所謂的模式派或架構派,不會滿嘴冒「觀察者模式」、「職責鏈模式」、「依賴倒置」、「接口隔離」、「MVC」、「MVP」等。老李始終以爲根據項目的須要和變化點來設計軟件。若是有須要,即使設計出緊耦合的軟件也是很Prefect數組

         好了,繼續說Smarty。先說說Smarty的特色:緩存

  1. 速度:相對於其它PHP模板而言,採用Smarty模板編寫的程序能夠得到最快的速度。注意,是相對於其它PHP模板而言。
  2. 內建緩存支持(大量緩存處理可能不是很完美)
  3. 能夠自定義插件。
  4. 能夠自行設置模板定界符,如{}{{}}等。
  5. 模板中可使用控制語句(後面會詳細說)
  6. 僅對修改過的模板文件進行從新編譯。

         PHP沒有內置的Smarty模板類,須要單獨下載和配置,你們能夠去http://smarty.php.net 上看看。下載後找到libs文件夾,並把它總體複製到將要使用Smarty的應用程序的根目錄下(記得更名字哦)libs文件夾包含四個核心文件smarty.class.phpsmarty_Compiler.phpconfig_File.class.phpdebug.tpl,你們有興趣能夠打開看看。不過令老李很奇怪的是,在EcShop中根本發現不到任何Smarty文件的蹤影?原來,EcShop開發團隊把Smarty改動一番而後重命名爲cls_template.php文件了,呵呵,向EcShop致敬!固然了EcShop確定是自定義一部分用法和規則,但下面仍是拋開EcShop說說通用規則。session

         先說Smarty變量,變量來自三個部分:架構

  1. 來自PHP頁面中的變量,即assign()方法傳過來的。在EcShop中常常能夠看見這種使用。
  2. 保留變量,至關於PHP中的預約義變量(見EcShop之路PHP篇)。在Smarty模板中使用保留變量時,無需使用assign方法傳值,直接調用變量名便可。getpostserversession等同於$_GET$_POST$_SERVER$_SESSION
  3. 修飾變量,有的時候不單單須要取得變量的值,還須要對變量進行處理,如轉化成大寫。

         Smarty也有不少內置函數,下面列舉幾個EcShop中經常使用的函數:函數

  1. includeinsert:用來載入其它模板。但insert載入的內容不會被緩存,每次開啓頁面都會從新執行。
  2. Config_load:用來加載配置文件。
  3. foreach:略,注意用法。
  4. section:用於比較複雜數組的循環訪問。
  5. fetch:返回模板的輸出內容,但不直接顯示出來。

          Smarty就先說到這吧,相信你們多看看代碼也就明白了!post

相關文章
相關標籤/搜索