模版引擎

最简单的基于js实现的模版引擎

谁说我不能喝 提交于 2020-04-17 02:23:11
【推荐阅读】微服务还能火多久?>>> 继之前推出的70行代码实现的lua模版引擎后,又遇到了需要在js实现模版引擎的需求,遂实现之 首先是模版引擎的代码 var JTemplateEngine = function() { var encodeAsString = function(s) { return s.replace(/\\/g, '\\\\').replace(/'/g, '\\\'').replace(/\r/g, '\\r').replace(/\n/g, '\\n'); } var compile = function(code) { console.log(code); // 输出缓冲 var outBuf; // 仿php的echo函数,需要什么函数自己照着这个模式加就是了,项目中实际会有很多辅助函数 var echo = function(s) { outBuf.push(s); } var __compiled; eval('__compiled = function(params) { ' + code + ' }'); return function(params) { outBuf = new Array(); __compiled(params); return outBuf.join(''); } } var _class = function()

PHP 模板引擎SMARTY 原理

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-16 11:55:12
某厂面试归来,发现自己落伍了!>>> 一、MVC需要模板 MVC最早是在SmallTalk语言的开发过程中总结出的一种设计模式,MVC分别代表了"模型"、"视图"和"控制",目的就是让不同的开发角色在大中型项目中各司其职。在网络应用程序的开发中,可以用下图来表示各概念之间的关系。 该图展示了一个简单的WEB应用程序,用户在浏览器上看到信息是数据库服务器上的内容,但在这之前经过了应用服务器加工。开发人员负责的就是建立数据结构、处理数据的逻辑以及表示数据的方法。 96年CGI在中国开始流行的时候,早期的WEB程序员都是从HTML开始自学成材的,在PERL中print一行行的HTML并不是一件难事,但是随着网络的一步步提速,页面大小也从当初的二、三十K暴涨了十倍。写CGI程序就产生了一个迫切的要求:分开PERL和HTML源码。于是,社会进步体现在开发小组内部的分工上。由于美工和程序员对互相的工作并不是十分熟悉,在进行合作的过程中需要用一种约定的"语言"进行交流。 这种语言并不是我们的母语或者英语,术语叫做"模板",逻辑和表示依靠它联系。它是结合了HTML和脚本语言特征的一种表达方式。通过这种方式,表示层可以按照用户所希望的格式来显示经过逻辑层处理过的数据。如果你有Windows平台下MFC的开发经验,那么一定会很熟悉Document/Document Template/View的封装