php Smarty模板引擎配置与测试
Smarty简介
smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。
优点:
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。在模板文件使用判断语句可以非常方便的对模板进行格式重排。
缺点:
1. 需要实时更新的内容。例如像股票显示,它需要经常对数据进行更新,这类型的程序使用smarty会使模板处理速度变慢。
2. 小项目。小项目因为项目简单而美工与程序员兼于一人的项目,使用smarty会丧失php开发迅速的优点。
1.安装
下载 Smarty包。解压并改名为Smarty 并放于 网站目录下,本例:D:\wamp\www\Smarty
2.配置
php.ini文件中修改 include_path
如下:
; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
; Windows: "\path1;\path2"
include_path = "D:\wamp\www\Smarty\libs"
本例在Windows下修改,Linux同理
网站目录下 建立文件夹-MySmarty,本例路径:D:\wamp\www\Smarty\MySmarty
并在其下 建立4个子文件夹 templates,configs,templates_c,cache
分别用于
1.存储模板
2.存放配置信息
3.存放编译文件
4.存放缓存
为各文件夹设置权限。
windows: 右键->属性->安全->编辑 进行用户权限修改
linux: chmod指令
3.测试
在网站目录下建立index.php文件 本例路径 D:\wamp\www\Smarty\MySmarty
index.php <?php /** * Example Application * @package Example-application */ require('../libs/Smarty.class.php'); $smarty = new Smarty; $smarty->template_dir = 'D:\wamp\www\Smarty\MySmarty\templates'; $smarty->config_dir = 'D:\wamp\www\Smarty\MySmarty\configs'; $smarty->cache_dir = 'D:\wamp\www\Smarty\MySmarty\cache'; $smarty->compile_dir = 'D:\wamp\www\Smarty\MySmarty\templates_c'; //$smarty->force_compile = true; $smarty->assign("name", '明天'); $smarty->display('index.tpl'); ?>
在D:\wamp\www\Smarty\MySmarty\templates建立index.tpl
<html> <body> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> 好,{$name}! </body> </html>
运行index.php,测试设置是否正确。
推荐参考 :此处