smarty下载:
建议使用一个兼容性好的smary版本。
太新的版本往往对php的版本支持不好。
php推荐使用的模板是:smarty
其他模板:phplib
公司自己写的模板
如何配置我们的smarty?
1.解压后,把libs文件夹放在网站根目录下。
2.创建两个文件夹 templates(放模板文件) 和templates_c(放编译后的俄文件)
开始使用smarty
1.写一个模板文件(tpl),通常放在templates
2.在php文件中引入smarty的核心文件,并创建smarty对象:
1 //创建smarty对象 2 require_once './libs/Smarty.class.php';
3 $smarty = new Smarty;//建立smarty实例对象$smarty
把数据分配给smarty对象,给tpl文件分配要显示的结果集合。对象,数组。
1 //把$res分配到smarty对象 2 $smarty->assign("myArr",$arr); 3 //指定用哪个模版显示 4 $smarty->display("empList2.tpl");
初始化其他参数(这些初始化应该放在display函数上面)
1 $smarty -> caching = false;//是否使用缓存 2 $smarty -> template_dir = "./templates";//设置模板目录 3 $smarty -> compile_dir = "./templates_c";//设置编译目录 4 $smarty -> cache_dir = "./smarty_cache";//缓存文件夹 5 //修改左右边界符号 6 $smarty -> left_delimiter="<{"; 7 $smarty -> right_delimiter="}>";
完整的代码应该是:
1 <?php 2 3 //创建smarty对象 4 require_once './libs/Smarty.class.php'; 5 6 $smarty = new Smarty;//建立smarty实例对象$smarty 7 $smarty -> caching = false;//是否使用缓存 8 $smarty -> template_dir = "./templates";//设置模板目录 9 $smarty -> compile_dir = "./templates_c";//设置编译目录 10 $smarty -> cache_dir = "./smarty_cache";//缓存文件夹 11 //修改左右边界符号 12 $smarty -> left_delimiter="<{"; 13 $smarty -> right_delimiter="}>"; 14 15 $smarty -> assign("var1","hello world");// 16 $smarty -> display("hello.tpl");// 17 18 ?>
3.一般在控制器中用。创建一个smarty对象。require_once
注意事项:
1.替换变量的标识符一般使用:<{}>
因为{}会和内联css和js发生冲突。
改动分隔符有两个方法:
1直接该smarty源码。
2 动态修改分隔符
$smarty = new Smarty;
$smarty ->left_delimiter="<{";
$smarty ->right_delimiter="}>";
传统方法的弱点:
1、php脚本和html,css,js混合,界面不简洁、
2.编写php页面要求程序员同时会网页设计技术、
3,不利于项目分工协同开发。
smarty的用处:
1。把界面需要的数据获取到,然后分配给某个界面。