Smarty总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Smarty总结相关的知识,希望对你有一定的参考价值。

一般来说在真实的项目开发的过程中,要做到业务分离以便于后期的项目升级以及后续的维护,之前的做法都是混编模式。混编模式虽然在响应速度上比较快,但是前端代码和后端代码纠结到一起是非常混乱的,要解决这个问题,于是就引入了smarty这个东西,也就是模板引擎技术。模板引擎技术就是将html代码和php代码分开来,体现在模板文件上的代码是前端开发人员能够快速理解和使用的。基本的步骤如下:

         建立一个php文件用来加载模板文件以及处理相关的业务逻辑,在建立一个模板文件用来实现数据库数据在模板文件中的动态化展示,首先在smarty官网上下载模板文件,把下载好的模板文件解压,就可以在文件中看到一个libs的文件夹改名为smarty并复制到项目的根目录下,在这个文件夹中会有几个子文件夹..在smarty文件夹中创建一个template的文件夹用作为模板目录文件。至于为什么要用这个名字,那是因为使用这个名字在做业务处理的时候就可以使用模板引擎的默认路径,那样更有利于快速开发业务。在文件根目录下就可以创建一个php文件,然后在template文件下创建对应的模板文件。为了与其他文件进行区分,我们这里文件的后缀一般都是改为tpl。

         当这些准备工作做好之后,我们先打开php文件进行正常的业务流程,先设置好响应头信息设置好字符集。然后使用include加载smarty文件,一般情况下都是加载Smarty.class.php这个文件,当然我们的下一步动作就是连接数据库文件,并提取相关的数据用对应的变量来保存这些数据,接下来就要实例化模板引擎,因为这里的模板引擎文件是使用面向对象来实现对业务数据的处理的。接下来就要通过一个关键词assign来给模板文件分配变量了例如:$smarty->assign(‘title’,$title)这里的把$title变量赋值给title.接下来使用关键词display方法替换模板中的的特殊标记并输出模板$smarty->display(‘index.dpl’),接下来就要实现模板文件数据的动态展示了。在模板文件的对应内容输出位置进行数据的输出。默认的格式{$title}只需要将这个格式的语句填充到对应的位置就可以实现数据库数据在模板文件中的动态展示了。前面说过,模板引擎的优势是实现业务的分离,以提高项目的后续升级与维护缺点是响应效率比较低。所以这里需要用到缓存功能,不过这个功能是自动调用的。会在用户访问过相应的页面之后在服务器中生成一个缓存文件夹把用户访问过的数据保存起来,等到下次有相同的数据访问时就直调用这个缓存文件里面保存的数据,以提高访问数据的执行效率。一般来说判断用户是否现在访问的数据文件是否和之前的一样,模板引擎用用更改文件的时间比对来进行判断的。

以上是关于Smarty总结的主要内容,如果未能解决你的问题,请参考以下文章

模板引擎(smarty)知识点总结

Smarty总结

模板引擎(smarty)知识点总结五

全面剖析Smarty缓存机制一[三种缓存方式]

PHP 模板smarty练习

可访问 Smarty 对象的 Smarty 修改器插件