武汉PHP培训
达内武汉民大中心

15827352908

热门课程

武汉PHP培训丨新手php入门之 Smarty模板简介及使用步骤

  • 时间:2018-01-31 17:54
  • 发布:武汉PHP培训
  • 来源:互联网

    说道框架(framework)那么必须要提到smarty模板,在面试时你可以不会任何的框架,但是如果不会smarty模板,那么面试官会认为你在说谎,因为几乎所有的框架都是基于或借鉴smarty.
    smarty模板介绍
    基于面向对象编程思想封装的类,实现前后台代码分离,降低耦合度,并且为后续的分工合作开发做准备.Smarty(轻量,微小)是编译性模板框架,体积小、速度快,支持缓存、全局站点配置等功能,是“旅行居家”开发必备神器!
    使用步骤
    1、在官网www.smarty.net 下载最新版,解压,复制libs文件夹到项目目录;
    2、在对应的项目目录下创建4个文件夹分别为模板文件夹(保存前台页面,必须,一般命名为templates)、编译(自动整理前后台页面,从第二次访问开始不需要重新重新整合,一般命名为templates_c,compile必须)、配置文件夹(应用于整个站点的配置)、缓存文件夹
    3、测试
    新建一个后台页面index.php
    <?php
    //引入核心类库文件
    include_once('libs/Smarty.class.php');
    //实例化类
    $smarty=new Smarty();
    //定义配置
    //用户访问的后台页面所有的路径都是应该以访问后台页面作为参照物!!!
    $smarty->setTemplateDir('templates');//定义模板路径
    //定义编译路径
    $smarty->setCompileDir('templates_c');
    //定义配置文件路径
    $smarty->setConfigDir('config');
    //定义缓存路径
    $smarty->setCacheDir('cache');
    //修改默认定界符避免和JS冲突!!!
    $smarty->left_delimiter='<{';
    $smarty->right_delimiter='}>';
    $test='我是test变量';
    $smarty->assign("test",$test);//建议注册的变量名和键保持一致
    //注册一个索引数组
    $smarty->assign("arr1",array('a','b','c'));
    //注册一个引用数组,section无法用于引用数组
    $smarty->assign("arr2",array("a"=>1,"b"=>2,"c"=>3));
    //开启调测
    //$smarty->debugging=true;

    //自动整理前后台页面

武汉PHP培训

    $smarty->display('index.tpl');
    $smarty->assign('test1','test1');//这个变量无法使用,想一想为什么?
    ?>
    在templates文件加新建index.tpl文件
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    <body>
    我是网站根目录下index.php的前台index.tpl页面<br />
    输出后台变量test的值:<font color="red" style="font-weight:bold;"><{$test}></font>XXXX<br />
    该变量无法输出:<{$test1}><br />
    遍历输出索引数组:
    <{section name=i loop=$arr1}>
    索引:<{$smarty.section.i.index}>值:<{$arr1[i]}> &nbsp;
    <{sectionelse}>
    没有符合的记录
    <{/section}>
    <br />
    遍历引用数组(用foeach,foreach也可以用于索引数组):
    <{foreach from=$arr2 item=v key=k}>
    键:<{$k}>值:<{$v}> &nbsp;
    <{foreachelse}>
    没有符合的记录集
    <{/foreach}>
    <br />
    新版本写法:
    <{foreach $arr2 as $k=>$v}>
    键:<{$k}>值:<{$v}> &nbsp;
    <{/foreach}>
    </body>
    </html>
    访问后台页面!!!!!测试结果
    变量解析
    后台注册,语法 $smarty对象->assign(&lsquo;键&rsquo;,mixed 值);
    前台在需要的位置显示,语法 {$键}
    开启调测
    $smarty->debugging=true;
    编译原理
    smarty模板调用display函数自动整合前后台页面,是从templates文件夹下查找前台地址自动把访问的后台php页面和该前台页面替换成内嵌PHP代码,生成编译文件,文件名XXX.前台模板名.tpl.php,第二次访问自动把这个页面相应给用户,加快速度,只要PHP后台代码不改变,这个编译页面就不会再次生成.

    本篇文章是由武汉PHP培训为您呈现,希望给您带来更多更好的文章,喜欢的朋友们可以添加微信公众号.

更多武汉PHP培训相关咨询,请扫描下方二维码

武汉PHP培训

马上预约七天免费试听课

姓名:

电话:

上一篇:武汉PHP培训丨第一个PHP程序与开发工具的选择
下一篇:十年程序员用眼告诉你 2018 PHP 不一样

达内教育集团总裁韩少云:双师模式的实践与思考

达内与广西教育学院携手签约,共建专业开启校企合作新阶段!

Java工程师岗位面试总结,看完了才发现知识不够用!

PHP中的堆是如何工作?

选择城市和中心
贵州省

广西省

海南省

有位老师想和您聊一聊