EcShop之路-Smarty

简介: 来源:http://www.cnblogs.com/dequan-lee/archive/2009/08/06/1540621.html目前市面上有很多针对PHP的MVC模板,但Smarty无疑是在功能和速度上处于绝对领先地位的。

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

目前市面上有很多针对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说说通用规则。

         先说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就先说到这吧,相信大家多看看代码也就明白了!

目录
相关文章
|
1月前
|
PHP
36 玩玩 ThinkPHP
本文介绍如何使用 PHPStudy 和 Composer 安装并配置 ThinkPHP 6。主要内容包括:创建工程目录、安装包管理工具 Composer、下载 ThinkPHP 架构包以及测试运行和配置。最后展示了 ThinkPHP 的目录结构和一些基本配置。通过这些步骤,你可以快速搭建一个 ThinkPHP 6 的开发环境。
40 1
|
Web App开发 缓存 数据安全/隐私保护
phpcms服务器搭建之 phpcms网站基本介绍
phpcms服务器搭建之 phpcms网站基本介绍
126 0
|
安全 前端开发 搜索推荐
Joomla建站教程——你应该知道的关于Joomla的误解
像 Joomla 这样的开源内容管理系统在过去十余年推动了网络的发展,并负责数百万在线网站。Joomla 是第二大 CMS,具有坚如磐石的代码库和非常有用的支持社区。尽管 Joomla 是最受欢迎的 CMS 之一,但它仍被许多荒谬的误解所包围。如果您刚刚开始使用 Joomla,您可能会迷失在网络上的信息池和错误信息中。
Joomla建站教程——你应该知道的关于Joomla的误解
|
关系型数据库 PHP
国内PHP开源建站程序一览
国外的开源技术也影响和推动了国内开源程序的发展,上文我介绍的《国外优秀开源PHP建站程序一览》中,很多国外开源程序并不太符合中国人的使用习惯,而国内有一些厂家或个人也做了一些不错的产品,不少程序是提供源代码下载的,虽然有些在许可协议上和开源许可证有些出入,但其在使用上还是挺符合中国人的使用习惯,今天我就介绍一些国内的PHP“开源”建站程序。
1854 0
|
前端开发 开发者 数据库
对比开源cms三巨头Joomla wordpress drupal哪个才是真正的王者
但凡接触过互联网的人,大都知道网页和博客,或许您也非常希望能有一个属于自己的网页或者博客。当前,也有各式各样的程序代码可以让你创建一个网站或者博客,我们现在更多的把他们称之为CMS(内容管理系统)。如果您在互联网上搜索一下,估计自己也会非常迷糊到底该采用哪种程序,在您开始之前,无妨一读下面的内容。