电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

网站开发技术培训

29页
  • 卖家[上传人]:luobi****88888
  • 文档编号:92151378
  • 上传时间:2019-07-07
  • 文档格式:PPT
  • 文档大小:212.50KB
  • / 29 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、网站开发技术高级篇,日照职业技术学院 毛书朋 2008.4,第七部分 模版技术(smarty),提纲,模版smarty的产生 什么是smarty Smarty的特点 Smarty的应用 安装 第一个程序 详解,模版smarty的产生,一个应用程序的开发流程如下: 提交计划文档 界面设计者美工制作了网站的外观模型,然后把它交给后台程序员。 程序员使用PHP实现商业逻辑,同时使用外观模型做成基本架构。然后工程被返回到html页面设计者继续完善。 就这样工程可能在后台程序员和页面设计者之间来来回回好几次。由于后台程序员不喜欢干预任何有关html标签,同时也不需要美工们和php鬼混在一起;美工设计者只需要配置文件,动态区块和其他的界面部分,不必要去接触那些错综复杂的php代码 。 因此,这时候有一个很好的模板支持就显得很重要了。,模版smarty的产生,早在1999年后期,我们就已经开始为模板引擎写说明文档。在完成这个文档之后,我们开始用c写一个模板引擎,并有希望被包含到php里去。在 撞上了许多的技术难题的同时,“什么是模板应该做的,什么不该做”这个问题,也被热烈的讨论着。从这些经验,我们决

      2、定应该用Php将模板引擎写成一个类,让任何觉得合适的人使用它。,模版smarty的产生,所以我们写了一个引擎,从此就有了smarty.(注:这个类以前从来没有公开发表过)。这个类几乎达到了我们所有的要求:常规变量替换,支持包括其他模板,使用配置文件集成设置,嵌入Php代码,限制if语句的作用,还有更多的可以多层嵌套的健壮的动态区块。它用常规表达式做到这一切,于是代码变得相当简洁,我们可以说:令人费解的。在每次调用的时候,都要去解析 那些语法和常规表达式,于是在大型应用的时候,它显然慢了下来。在程序员的眼光看来,最大的问题还是使用php脚本建立和处理模板和动态区块的所有必要工作。我们应该如何使他变得更简单?,模版smarty的产生,我们可以想象smarty应该有怎样的最后表现。我们知道php代码如果没有了模板解析的开销将有多快,我们也知道从一般的美工看来php语言是多么的“恐怖”,然而这一切可以被一种更简单的模板语法掩饰掉。我们应该怎样把这两种方法的长处结合起来? 于是,Smarty诞生了,什么是smarty,Smarty是一个php模板引擎。更准确的说,它分开了逻辑程序和外在的内容,提

      3、供了一种易于管理的方法。可以描述为应用程序员和美工扮演了不同的角色,因为在大多数情况下 ,他们不可能是同一个人。 例如,你正在创建一个用于浏览新闻的网页,新闻标题,标签栏,作者和内容等都是内容要素,他们并不包含应该怎样去呈现。在Smarty的程序里,这些被忽略了。模板设计者们编辑模板,组合使用html标签和模板标签去格式化这些要素的输出(html表格,背景色,字体大小,样式表,等等)。有一天程序员想要改变文章检索的方式(也就是程序逻辑的改变)。这个改变不影响模板设计者,内容仍将准确的输出到模板。同样的,哪天美工吃多了想要完全重做界面,也不会影响到程序逻辑。因此,程序员可以改变逻辑而不需要重新构建模板,模板设计者可以改变模板而不影响到逻辑。,Smarty的特点-优点,速度:采用smarty编写的程序可以获得最大速度的提高,这一点是相对于其它的模板引擎技术而言的。 2. 编译型:采用smarty编写的程序在运行时要编译成一个非模板技术的PHP文件,这个文件采用了PHP与HTML混合的方式,在下一次访问模板时将WEB请求直接转换到这个文件中,而不再进行模板重新编译(在源程序没有改动的情况下)

      4、,Smarty的特点-优点,3. 缓存技术:smarty选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个静态的HTML页,当设定smarty的cache属性为true时,在smarty设定的cachetime期内将用户的WEB请求直接转换到这个静态的HTML文件中来,这相当于调用一个静态的HTML文件。 4. 插件技术:smarty可以自定义插件。插件实际就是一些自定义的函数。 5. 模板中可以使用if/elseif/else/endif。在模板文件使用判断语句可以非常方便的对模板进行格式重排。,Smarty的特点-缺点,1. 需要实时更新的内容。例如像股票显示,它需要经常对数据进行更新,这类型的程序使用smarty会使模板处理速度变慢。 2. 小项目。小项目因为项目简单而美工与程序员兼于一人的项目,使用smarty会丧失php开发迅速的优点。,Smarty的应用-安装,安装smarty的环境:php版本4.06以上版本。 安装smarty方法非常简单,从http:/ 其它高级安装使用方法请看手册. 安装Smarty发行版在/libs/目录里的库文件(就是解压了). 这

      5、些php文件你可不能乱画哦.这些文件被所有应用程序共享,也只能在你升级到新版的smarty的时候得到更新。,Smarty的应用-第一个程序,编写一个模版文件:index.tpl * 显示是smarty变量识符里的用*包含的文字为注释内容 * 我的第一个smarty应用实例 大家好,我是$name, 欢迎大家访问我的第一个smarty应用实例!。 CopyRight© ET工作室 2008年4月 Email: ,Smarty的应用-第一个程序,编写php文件:index.php template_dir = “./templates“; /设置模板目录 $smarty-compile_dir = “./templates_c“; /设置编译目录 $smarty-left_delimiter = “; /定义左边界符 $smarty-right_delimiter = “; /定义右边界符 $smarty-assign(“name”, “来自火星的ET”); /进行模板变量替换 /编译并显示位于./templates下的index.tpl模板 $smarty-display(“i

      6、ndex.tpl“); ?,Smarty的应用-详解,一、应用的基本设置 包含smarty类文件 include_once(“./comm/Smarty.class.php“); 建立smarty实例对象$smarty $smarty = new Smarty(); 设置模板目录 $smarty-template_dir = “./templates“; 设置编译目录 $smarty-compile_dir = “./templates_c“;,Smarty的应用-详解,一、应用的基本设置 设置缓存目录 $smarty-cache_dir = “./cache“; 设置缓存时间 $smarty-cache_lifetime = 60 * 60 * 24; 缓存设置 $smarty-caching = false|true; 这里是调试时设为false,发布时请使用true,Smarty的应用-详解,一、应用的基本设置 定义边界符 $smarty-left_delimiter = “; $smarty-right_delimiter = “; 进行模板变量替换 $smarty-assig

      7、n(“name”, “变量内容”); 编译并显示位于./templates下的模板 $smarty-display(“模版文件名“); $smarty-display(“index.tpl“);,Smarty的应用-详解,一、应用的基本设置 模版文件中的注释 $smarty-left_delimiter * * $smarty-right_delimiter * * 模版文件中的文件包含(引用) $smarty-left_delimiter include file=“模版文件名“ $smarty-right_delimiter include file=“header.tpl“ *页面头*,Smarty的应用-详解,二、if,elseif,else if $sex eq “1“ Welcome Sir. elseif $sex eq “2“ Welcome Maam. else Welcome! /if,Smarty的应用-详解,三、foreach foreach:用于循环简单数组,它是一个选择性的section循环,它的定义格式为: foreach from=$array item

      8、=array_id foreachelse /foreach 其中,from 指出要循环的数组变量,item为要循环的变量名称,循环次数由from所指定的数组变量的个数所决定。foreachelse用来当程序中传递过来的数组为空时的处理。,Smarty的应用-详解,编写一模版文件:index4.tpl 新闻编号 新闻标题 foreach from=$newsArray item=newsID $newsID.newsID $newsID.newsTitle foreachelse 对不起,数据库中没有新闻输出! /foreach,Smarty的应用-详解,编写一php文件:index4.php $array = array(“newsID“=1, “newsTitle“=“第1条新闻“); $array = array(“newsID“=2, “newsTitle“=“第2条新闻“); $array = array(“newsID“=3, “newsTitle“=“第3条新闻“); $array = array(“newsID“=4, “newsTitle“=“第4条新闻“); $ar

      9、ray = array(“newsID“=5, “newsTitle“=“第5条新闻“); $array = array(“newsID“=6, “newsTitle“=“第6条新闻“); $smarty-assign(“newsArray“, $array);,Smarty的应用-详解,四、section section的产生是为解决foreach的不足的,与foreach一样,它用于设计模板内的循环块,它较为复杂,可极大程序上满足程序需要,所以在程序中我习惯使用它而不使用foreach,基本原形为: section name = name loop = $varName start = $start step = $step max = $max show = true,Smarty的应用-详解,四、section name: section的名称,不用加$ $loop: 要循环的变量,在程序中要使用assign对这个变量进行操作。 $start: 开始循环的下标,循环下标默认由0开始 $step: 每次循环时下标的增数 $max: 最大循环下标 $show: boolean类型,决定是否对这个块进行显示,默认为true,Smarty的应用-详解,编写一模版文件:index5.tpl 这里将输出一个数组: 新闻编号 新闻标题 section name=loop loop=$News $Newsloop.newsID $Newsloop.newsTitle sectionelse 对不起,没有任何新闻输入! /section,Smarty的应用-详解,五、PHP+MySQL+Smarty的使用 创建数据库 Create databases news 创建数据表 CREATE TABLE IF NOT EXISTS news_info ( id int(11) NOT NULL auto_increment, title varchar(

      《网站开发技术培训》由会员luobi****88888分享,可在线阅读,更多相关《网站开发技术培训》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
     
    收藏店铺
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.