亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 2272 | 回復(fù): 0
打印 上一主題 下一主題

關(guān)于template的思考,對(duì)模板熟悉者請(qǐng)進(jìn)。 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2004-12-25 18:36 |只看該作者 |倒序?yàn)g覽

用PHP進(jìn)行項(xiàng)目開發(fā),由于PHP的解釋執(zhí)行,我們經(jīng)常會(huì)面臨執(zhí)行速度和通用性、編程效率產(chǎn)生矛盾,然后又如何取舍的問(wèn)題。PHP的早期版本都是面向過(guò)程的,以執(zhí)行速度快著稱,在開發(fā)復(fù)雜應(yīng)用時(shí)日顯捉襟見肘,隨著4.3及以后版本的發(fā)行可以看到PHP將向面向?qū)ο蠓较虬l(fā)展,

[/url]

     用PHP進(jìn)行項(xiàng)目開發(fā),由于PHP的解釋執(zhí)行,我們經(jīng)常會(huì)面臨執(zhí)行速度和通用性、編程效率產(chǎn)生矛盾,然后又如何取舍的問(wèn)題。PHP的早期版本都是面向過(guò)程的,以執(zhí)行速度快著稱,在開發(fā)復(fù)雜應(yīng)用時(shí)日顯捉襟見肘,隨著4.3及以后版本的發(fā)行可以看到PHP將向面向?qū)ο蠓较虬l(fā)展,于是大家逐漸習(xí)慣寫大量的基類,大量的使用include_once,這樣使我們的開發(fā)變得有序,程序邏輯更清晰,當(dāng)我們開發(fā)完成之后,發(fā)現(xiàn)執(zhí)行效率不如以前,PHP在解析和文件調(diào)用上花費(fèi)過(guò)多的開銷,一個(gè)頁(yè)面使用十幾二十個(gè)include會(huì)將PHP拖垮,我們的注意力開始從數(shù)據(jù)庫(kù)轉(zhuǎn)向PHP程序的優(yōu)化,從一方面來(lái)講,大型數(shù)據(jù)驅(qū)動(dòng)用面向?qū)ο竽J綗o(wú)可非議,另一方面,PHP的代碼應(yīng)該突出類C語(yǔ)言的簡(jiǎn)潔高效。于是我們迷茫了:如何保證大型應(yīng)用的執(zhí)行效率?這是我思考已久的問(wèn)題。
      也許上面的話題涉及的太多,下面我只想具體談?wù)劥罅磕0逄幚淼膯?wèn)題:對(duì)于幾百個(gè)頁(yè)面的規(guī)模,每頁(yè)都有動(dòng)態(tài)數(shù)據(jù),少量頁(yè)面涉及較多的變量,如何方便地實(shí)行模板變量替換?難道直接用set_var()一行一行地替換?
      模板機(jī)制的廣泛采用使PHP代碼和HTML混雜在一起成為歷史,解決了前臺(tái)輸出和后臺(tái)程序的沖突,前臺(tái)對(duì)程序員是透明的,同樣后臺(tái)對(duì)美編也是透明的,優(yōu)越性不言而喻,而我們所付出的代價(jià)只是約定好一組變量名,并簡(jiǎn)單的替換一下而已。然而有幾百個(gè)網(wǎng)頁(yè)就有幾百個(gè)模板,每一個(gè)頁(yè)面可能有數(shù)十個(gè)變量,于是這一簡(jiǎn)單的變量替換工作也變成了累贅,以PHPLIB的template為例,就需要幾十行set_var(),我開始設(shè)想一個(gè)VIEW類,它將繼承template,定義一個(gè)數(shù)組成員保存用來(lái)替換的變量名表,提供setvalue()和output()方法,通過(guò)setvalue($key,$value)來(lái)賦值,很明顯$value就是從數(shù)據(jù)庫(kù)取出的數(shù)據(jù),$key是將要替換的變量,難點(diǎn)就是如何確定$key(即HTML中{}中的名字)的值,
舉個(gè)例子,比如在模板文件my.tpl中象這樣:


您的用戶名是{tpname}
職位是{tpposition}


      在PHP文件中應(yīng)該象這樣($name和$position是動(dòng)態(tài)數(shù)據(jù)):
……
$tp->set_file("filehandle","my.tpl");
$vararr=array("tpname"=>$name,"tpposition=>$position);
tp->set_var($vararr);
tp->pparse("out","filehandle");
      在倒數(shù)第二行我用數(shù)組傳遞要替換的變量列表,一個(gè)頁(yè)面有一二十個(gè)模板變量是正常,問(wèn)題是能不能方便地一次性設(shè)置好數(shù)組下標(biāo)(即要替換的變量名例如"tpname"和"tpposition"),否則只能一行行地set_var,目前我仍在探索中,歡迎大家踴躍交流這方面的解決辦法。


本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):[url]http://blog.chinaunix.net/u/2354/showart_8692.html
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP