欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

Smarty快速入门之一

程序员文章站 2022-05-24 09:19:17
...
Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。

Smarty的优点:


1. 速度:采用Smarty编写的程序可以获得最大速度的提高,这一点是相对于其它的模板引擎技术而言的。

  2. 编译型:采用Smarty编写的程序在运行时要编译成一个非模板技术的PHP文件,这个文件采用了PHP与HTML混合的方式,在下一次访问模板时将WEB请求直接转换到这个文件中,而不再进行模板重新编译(在源程序没有改动的情况下)

  3. 缓存技术:Smarty选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个静态的HTML页,当设定Smarty的cache属性为true时,在Smarty设定的cachetime期内将用户的WEB请求直接转换到这个静态的HTML文件中来,这相当于调用一个静态的HTML文件。

  4. 插件技术:Smarty可以自定义插件。插件实际就是一些自定义的函数。

  5. 模板中可以使用if/elseif/else/endif。在模板文件使用判断语句可以非常方便的对模板进行格式重排。

Smarty的应用:

1. 下载最新的smarty。

2. 下载的smarty内核文件夹libs,放入php网站文件夹内。(安全起见,可自行修改文件夹名,如改名为smarty)

3. 分别在网站目录下建立templates、templates_c、configs、cache四个文件夹。

4. 在templates/目录下写模板,建立index.htm内容为:




Insert title here


{$world}

OK,我们来测试一下,php调用smarty,编写如下程序:

include(smarty/Smarty.class.php);
//程序目录
const DIR_SEP = DIRECTORY_SEPARATOR;
define(SITE_ROOT, dirname(__FILE__).DIR_SEP);

$smarty = new Smarty;
$smarty->template_dir = SITE_ROOT.templates.DIR_SEP;
$smarty->complie_dir = SITE_ROOT.templates_c.DIR_SEP;
$smarty->config_dir = SITE_ROOT.configs.DIR_SEP;
$smarty->cache_dir = SITE_ROOT.cache.DIR_SEP;

$smarty->assign(world,hello world!);
$smarty->display(index.htm);
?>

输出结果:hello world

Thats right!配置成功~