欢迎来到天天文库
浏览记录
ID:8810965
大小:42.50 KB
页数:5页
时间:2018-04-08
《php框架设计入门之三:页面模板》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、引用:Thisispart3ofamulti-partseriesonthedesignofacompleteapplicationframeworkwritteninPHP.Inpart1,wecoveredthebasicclassstructureoftheframeworkandlaidoutthescopeoftheproject.Thesecondpartdescribedmethodsformanagingusersandsessiondata.Thispartdescribesapract
2、icalimplementationofpagetemplatesandtheseparationofapplicationlogicfromthepresentationlayer.这是PHP框架设计入门系列教程的第三部分。在第一部分,我们已经介绍框架的基础类结构,并展示了项目的大体。第二部分叙述了管理用户和会话数据的一些方法。这一部分,我们谈论页面模板的具体实现及应用逻辑与表现层的分离。Templates模板引用:Wouldn'titbeniceifallthepagesonyoursitehadas
3、imilarstyle?Yes,itwould…butthat’snottheonlyreasonforusingpagetemplates.Infact,ifthatsallthatyourequire,stylesheetsshouldsolvetheproblemwithmuchlessoverhead.Ifyouarelookingtoaddasimpleheaderoffootertoeverypage,Apacheprovidesthatfunctionalityviaserversidein
4、cludes(oryoucanusePHPtosimplyreadinanfileandoutputittothetopofeachpage).Inthecontextofthisframework,however,whatwearetryingtoaccomplishisabitmoresophisticated.Ineffect,templatesallowustoaddaseparatepresentationlayertoourwebapplication.Thisapproachissimila
5、r(thoughmuchsimpler)totheoneemployedinASP.NET.如果你网站上的所有页面都有一个相似的外观,这难道不是一件美妙的事情吗?是,确实是很美妙,但是那并不是使用页面模板的唯一原因。实际上,如果你的要求此限于此(译注:即页面有一个相似的外观),那么用样式表(CSS)就足够解决问题,并且可以使你少花费许多精力。如果你在寻找一种给每个页面加入一个简单的页头、页脚的方法,可以使用Apache提供的功能,那些功能通过服务端包含实现(或者你可以使用PHP简单地读入一个文件,然后输出
6、文件的内容到每一个页面的顶部)。然而,在这个框架的中,我们所要尝试完成的事情要更复杂一些。从效果上来看,模板可以为我们的web应用程序加入一个分离了的表现层。这种方法与ASP.NET中实现的类似,但相比起来简单许多。引用:TherearemanytemplateenginesavailableforPHPbuttheapproachwewillusehereisbasedonBrianLozier’sarticleBeyondTheTemplateEngine.Theideaisthatmostofthe
7、existingtemplateenginesprovidemuchmoreoverheadthatwewantforwhatweneedtoaccomplish.Infact,PHPcandowhatweneedinjustafewlinesofcodewhichopenupatextfileandreplacealltheplace-holderswithdynamiccontent.Soifweencapsulatethatfunctionalityinaclassandputacherryonto
8、pweendupwithclass_template.phpandarealizationofapresentationlayerinourapplicationframework.虽然有许多的PHP模板引擎可供我们选择,但我们这里还是以BrianLozier的文章BeyondTheTemplateEngine中谈论的模板引擎为基础。这样做的理由是,就我们需要完成的事情来说,许多现有的模板引擎都过于笨重,要有不少额外的开销。实
此文档下载收益归作者所有