关于ecshop采用smarty引擎的简单分析

2016-09-11 20:39 来源:www.chinab4c.com 作者:ecshop专家

市道上有许多对于PHP的MVC模板,但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.php、smarty_Compiler.php、config_File.class.php和debug.tpl,我们有爱好能够翻开看看。不过令老李很奇怪的是,在EcShop中底子发现不到任何Smarty文件的踪影?本来,EcShop开发团队把Smarty改动一番然后重命名为cls_template.php文件了,呵呵,向EcShop问候!当然了EcShop肯定是自界说一有些用法和规矩,但下面仍是抛开EcShop说说通用规矩。

         先说Smarty变量,变量来自三个有些:

  1. 来自PHP页面中的变量,即assign()办法传过来的。在EcShop中经常能够看见这种运用。
  2. 保存变量,相当于PHP中的预界说变量(见EcShop之路PHP篇)。在Smarty模板中运用保存变量时,无需运用assign办法传值,直接调用变量名即可。get、post、server、session等同于$_GET、$_POST、$_SERVER、$_SESSION。
  3. 润饰变量,有的时分不仅仅需求获得变量的值,还需求对变量进行处置,如转化成大写。

         Smarty也有许多内置函数,下面罗列几个EcShop中常用的函数:

  1. include和insert:用来载入其它模板。但insert载入的内容不会被缓存,每次敞开页面都会从头履行。
  2. Config_load:用来加载装备文件。
  3. foreach:略,注重用法。
  4. section:用于比较复杂数组的循环拜访。
  5. fetch:回来模板的输出内容,但不直接显示出来。

          Smarty就先说到这吧,信任我们多看看代码也就理解了!