國內私募機構九鼎控股打造APP,來就送 20元現金領取地址:http://jdb.jiudingcapital.com/phone.html
內部邀請碼:C8E245J (不寫邀請碼,沒有現金送)
國內私募機構九鼎控股打造,九鼎投資是在全國股份轉讓系統掛牌的公眾公司,股票代碼為430719,為“中國PE第一股”,市值超1000億元。
------------------------------------------------------------------------------------------------------------------------------------------------------------------
來源:http://www.cnblogs.com/dequan-lee/archive/2009/08/06/1540621.html
目前市面上有很多針對PHP的MVC模板,但Smarty無疑是在功能和速度上處於絕對領先地位的。MVC(Model-View-Controller)模型-視圖-控制器,相信大家對這個概念不陌生,老李也就不詳細解釋了。EcShop肯定是要采用MVC架構的,不說大家也明白,網店市場的需求是千變萬化的,客戶對頁面的外觀組織形式和頁面邏輯的要求可謂是“一千個人心中有一千個哈姆雷特”。為了應對這種變化,EcShop必須采用MVC架構。這里順便提一下,老李不是所謂的模式派或架構派,不會滿嘴冒“觀察者模式”、“職責鏈模式”、“依賴倒置”、“接口隔離”、“MVC”、“MVP”等。老李始終覺得根據項目的需要和變化點來設計軟件。如果有需要,即便設計出緊耦合的軟件也是很Prefect。
好了,繼續說Smarty。先說說Smarty的特點:
- 速度:相對於其它PHP模板而言,采用Smarty模板編寫的程序可以獲得最快的速度。注意,是相對於其它PHP模板而言。
- 內建緩存支持(大量緩存處理可能不是很完美)。
- 可以自定義插件。
- 可以自行設置模板定界符,如{}、{{}}等。
- 模板中可以使用控制語句(后面會詳細說)。
- 僅對修改過的模板文件進行重新編譯。
PHP沒有內置的Smarty模板類,需要單獨下載和配置,大家可以去http://smarty.php.net 上看看。下載后找到libs文件夾,並把它整體復制到將要使用Smarty的應用程序的根目錄下(記得改名字哦)。libs文件夾包含四個核心文件smarty.class.php、smarty_Compiler.php、config_File.class.php和debug.tpl,大家有興趣可以打開看看。不過令老李很奇怪的是,在EcShop中根本發現不到任何Smarty文件的蹤跡?原來,EcShop開發團隊把Smarty改動一番然后重命名為cls_template.php文件了,呵呵,向EcShop致敬!當然了EcShop肯定是自定義一部分用法和規則,但下面還是拋開EcShop說說通用規則。
先說Smarty變量,變量來自三個部分:
- 來自PHP頁面中的變量,即assign()方法傳過來的。在EcShop中經常可以看見這種使用。
- 保留變量,相當於PHP中的預定義變量(見EcShop之路PHP篇)。在Smarty模板中使用保留變量時,無需使用assign方法傳值,直接調用變量名即可。get、post、server、session等同於$_GET、$_POST、$_SERVER、$_SESSION。
- 修飾變量,有的時候不僅僅需要取得變量的值,還需要對變量進行處理,如轉化成大寫。
Smarty也有很多內置函數,下面列舉幾個EcShop中常用的函數:
- include和insert:用來載入其它模板。但insert載入的內容不會被緩存,每次開啟頁面都會重新執行。
- Config_load:用來加載配置文件。
- foreach:略,注意用法。
- section:用於比較復雜數組的循環訪問。
- fetch:返回模板的輸出內容,但不直接顯示出來。
Smarty就先說到這吧,相信大家多看看代碼也就明白了!