刨丁解牛与ECShop模板制作
在刨丁眼里,眼前的牛不再是牛,而是一堆骨头;
同样的,在我们的模板开发人员眼中,网页也将变得“支离破碎”,它看到的只是一个个可复用的部件。
这个部件也许只是一张图片、一段文字,或许只是一个DIV容器、一张表格。
自从smarty模板引擎得到PHP官方的认可以后,我们的PHP也已经拥有了一套强大的模板引擎系统。smarty完全支持上述所说的“部件式建站”,并且提供了极好的执行性能,这主要得益于“先编译后执行”的思想。更重要的一点是,学习曲线较低,只要我们稍稍具备一点逻辑思维,就能够快速上手。
部件式建站两个显而易件的好处就是:①我们可以充分复用已经制作好的部件。部件制作好以后,制作页面就建砌房子一样,一块块往上放就是了。②只要修改一个部件,所有引用该部件的页面都会相应的更改,从而大大提高生产效率。
不过,smarty本身也有一点小小的不足(准确一点来说,应该是部件式建站的不足),当我们把一个页面划分成N个小区域以后,那我们修改该页面的时候,实际上就是修改相应的部件。所以,我们必须得先找到该部件,然后才能修改。如果只修改一两个部件还好说,但若要修改上十(或更多)个部件,这“找的过程”就是相当耗费生命的一件事了。
那怎么办呢?
有办法,ECShop当中通过引入Adobe Dreamweaver的模板与库机制巧妙地解决了该问题。库里面存放的元件就是上述的部件,而模板就是一个完整的页面。这样,当我们对模板进行修改的时候,实际上也是在执行修改部件的操作,从而达到同步更新的目的。
DW和smarty的组合可谓是相当的完美,但还是有一点点小小的遗憾,DW是商业软件,而我们的ECShop则是开源软件。