<output id="r87xx"></output>
    1. 
      
      <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
        •   

               當(dāng)前位置:首頁>軟件介紹>細(xì)說PHP模板引擎 查詢:
               
          細(xì)說PHP模板引擎

                  PHP模板引擎,除官方的Smarty之外,其它開源的模板引擎,不下于成百上千。這是有歷史的原因的。

                  早期,Smarty早其由于性能上的問題,使得全世界眾多的PHP開發(fā)者,不得不進(jìn)一步想弄出更好的模板引擎出來。因?yàn)?,高并發(fā)的高性能要求的大型網(wǎng)站,使用SMARTY,簡直就是惡夢(mèng)。

                  到目前為止,PHP模 板引擎角然處于春秋戰(zhàn)國時(shí)代,大量的模板引擎,讓衩學(xué)者不知所措。從我們國內(nèi)的基本現(xiàn)狀來看,普通公司,對(duì)項(xiàng)目要求,必須要使用MVC但其性能要求不高 的,基本都是Smarty。因?yàn)镾marty作為官方的模板引擎,技術(shù)比較普及,找一個(gè)程序員也較為方便。國內(nèi)一些開發(fā)框架,也主動(dòng)集成Smarty。這 也造成了,一些官方的模板引擎,在國內(nèi)得不到普及。

                  當(dāng)然,早期,Smarty雖然那么性能低下,卻憑借其提供的Cache爭奪了市場。

                  近其,我對(duì)模板引擎對(duì)互聯(lián)網(wǎng)進(jìn)行一了些搜索,發(fā)現(xiàn),有官方網(wǎng)站的大概有以下一些:

                  httpdwoo.org

                  

                  httpwww.twig-project.org

                  

                  httpwww.invenzzia.orgenprojectsopen-power-librariesopen-power-template

                  

                  

                  

                  httptemplatelite.sourceforge.net

                  httpwww.vivvo.netvte.php

                  httpwww.phpxtemplate.orgHomePage

                  httpphp-sugar.net

                  httpwww.feverxl.orgtemplate

                  httpwww.greaterscope.netprojectsVemplator

                  httpphptal.org

                  

                  httpvlib.clausvb.devlibtemplate.php

                  不過,這只是其中的一部分,有些可能名不副實(shí)。并不是真正的模板引擎。

                  從這一現(xiàn)狀來看,這是PHP官方一個(gè)豐當(dāng)大的失誤。人為地定某一個(gè)模板引擎作為官方的東西,作為用來掙錢的工具。但卻不是最優(yōu)秀的,也不是完全利用PHP最強(qiáng)大的優(yōu)勢(shì)來解決的方案。

                  我們可以從以下幾點(diǎn)可以看出:第一,PHP最為強(qiáng)大的是其擴(kuò)展庫。模板原本完全可以用擴(kuò)展庫來解決的,但PHP官方?jīng)]有這么做。也許,PHP官方,用擴(kuò)展庫,實(shí)現(xiàn)了數(shù)據(jù)庫鏈接池,從而失去了一個(gè)掙錢的機(jī)會(huì),從而后悔,這也只是一種猜測。

                  官方不做,不代表民間無人做,目前,最快的模板引擎:Blitz 模板引擎是一個(gè) PHP 擴(kuò)展,號(hào)稱是當(dāng)前最快的模板引擎。這就是說,它的低層是用C++寫成的PHP擴(kuò)展,而不是PHP源碼。具休大家可以參考其網(wǎng)站:

                  

                  當(dāng)然,這是目前唯一發(fā)現(xiàn)的一個(gè),其它的均是PHP源碼的,不管誰,均說它的速度快,但,有些引擎是不需要測的,一看源碼就不想用,100K不到的源碼,一堆正則表達(dá)式,沒有明確提供的模板語言控制結(jié)構(gòu),函數(shù),過濾器,還說速度快,再愉也沒什么大用,更何況,正則越多,性能越低下。

                  再有就是,很多代碼沒有很好的錯(cuò)誤與異常管理,可不知,這會(huì)讓開發(fā)者,因?yàn)槟愕腻e(cuò)誤,而要花去多少他們的不該浪費(fèi)的時(shí)間,

                  另外,PHP5現(xiàn)在有DOM,有SPL,國外,有QueryPath實(shí)現(xiàn)了對(duì)HTML的操作,并由此實(shí)現(xiàn)了簡單的模板引擎功能,然而,再也沒有其它 人考慮過,用此技術(shù)作出一個(gè)良好的模板引擎。這也看出,靠做軟件外包的,做項(xiàng)目的,只是應(yīng)付工作時(shí)間內(nèi)會(huì)什么,沒有人想到去創(chuàng)造或創(chuàng)新。

                  另外,所有模板體系,現(xiàn)在千篇一律師,均是{}模板語言標(biāo)簽。卻沒有XML命名空間標(biāo)簽。真不知PHP官方是怎樣想的,在SF.NET中,SMARTY被稱作:Struts for php, 但它卻沒有象struts那樣,使用XML命名空間標(biāo)簽。雖說,這能提供更大的靈活性,但是,這卻失去了很多原本做JAVA的用戶。這可以說是市場策略上 的一個(gè)相當(dāng)大的敗筆。從歷史看,微軟為了爭JAVA的用戶,不惜把VB改得象JAVA,還弄出個(gè)C#。但反過來看,Zend Framework中的面向?qū)ο蟮哪J?,以及象SYMFONY的面向?qū)ο蟮哪J剑九cJAVA等同,完全是用接口類擴(kuò)展模式。(使用這種模式,使得, 框架中不得不多出在堆類文件,并不能夠充分發(fā)控PHP的特長。)

                  此外,象CODEIGNITER干脆就不用模板引擎,而告訴用戶,使用PHP的另一種語法模式實(shí)現(xiàn)與模板引擎相類似的功能。

                  Smarty與Zend Framework作為PHP官方的商業(yè)模式,實(shí)際上,很多卻是阻礙了PHP的良好的發(fā)展。

                  不過,另外一點(diǎn)則是非常遺憾的,那就是,所有的非官方的模板引擎,至今無一個(gè)真正形成氣候。其主要原因可能有以下幾點(diǎn):

                  早期只是滿足于速度改良,一些人因類效率提高了,于是就發(fā)布了,不在向其中添加頁面Cache,而這卻是失去市場的一個(gè)主要原因。

                  第二個(gè)重要原因,那就是,很多開發(fā)者,都比較初級(jí),并沒有好好了解解Zend之類的大型框架,他們面向的應(yīng)用開發(fā)需求,因而不了解這些需求,更不能應(yīng)用這些開發(fā)思想。

                  第三個(gè)原因,很多框架,沒有很好的文檔,使用戶無所適從。

                  第四個(gè)原因,很多框架,只是把源碼放到網(wǎng)上,沒有建立公司,也沒有對(duì)應(yīng)的社區(qū),開源,實(shí)際根本上,是需要至少一個(gè)方面,或是社區(qū),或是公司,否則, 無技術(shù)支持,從哪里獲得用戶,就象現(xiàn)在,我給大家列出的模板引擎,肯定是,有官方網(wǎng)站的,要我選用,我也是選有官方網(wǎng)站的。如果有強(qiáng)大的社區(qū),或公司,那 更是我的首選。

                  側(cè)如我們?nèi)?phpclasses.org, 或 sourceforge.net 上去搜索一下,肯定是相當(dāng)多的。你會(huì)感慨,這么多的模板引擎呀~~現(xiàn)在還多出了一個(gè) googlecode,上面一樣也有很多。很多人以為,放上去就可以了。

                  第五個(gè)原因,那就是,很多開發(fā)者,并沒有用心去做。有很多框架避然有兩年多未更新的,這使得用戶無法信任。

                  第七個(gè)原因,雖然有斷方網(wǎng)站,卻必須要注冊(cè)后才下載。我不知這些開發(fā)者腦子是不是進(jìn)水了,如果你的東西確實(shí)好,Smarty都不用注冊(cè)直接下載,而你要注冊(cè),不給用戶有匿名對(duì)你開發(fā)的東西拿去與其它進(jìn)行比較的機(jī)會(huì),你如何占領(lǐng)市場,

                  第八個(gè)原因,那就是,開發(fā)者,并不能夠足夠地從用戶角度考慮,要使用模板引擎,則要學(xué)習(xí)一個(gè)新的模板語言,并且相當(dāng)多的模析語言,并不是簡單易學(xué)。于是,大家都學(xué)Smarty,不如就學(xué)Smarty,學(xué)了你這個(gè)不易學(xué)的模板語言,到其它地方,并不一定能用上,浪費(fèi)時(shí)間。

                  這方面做得最好的,好象就是symfony template,有5分鐘的向?qū)?,詳?xì)的文檔,并且,很工整的面向?qū)ο蟮拇a,當(dāng)然TWIG也是一個(gè)不錯(cuò)的模板引擎。DWOO雖說改寫了SMARTY, 但并不比SMARTY高明多少,只能說是兩種不同的風(fēng)格,或體系。當(dāng)然,不可否認(rèn),DWOO比smarty2肯定快,但現(xiàn)在,相對(duì)于 smarty3,DWOO又如何了呢, 模板引擎,或許是PHP永遠(yuǎn)的一個(gè)心結(jié)~

                  


          PHP編程教程Ajax完成分頁技巧MySQL讀寫分離由PHP實(shí)現(xiàn)
          談PHP生成靜態(tài)頁面PHP訪問MySQL
          PHP常用代碼 基于php的萬年歷接口調(diào)用代碼實(shí)例
          PHP培訓(xùn)之高級(jí)工程師應(yīng)具備哪些條件 PHP底層的運(yùn)行機(jī)制-PHP從啟動(dòng)到停止的整個(gè)生命周期
          深度探討PHP之性能怎樣才能成為PHP高手
          PHP用戶注冊(cè)與登錄php調(diào)用linux計(jì)劃任務(wù)
          php里session的用法php在百度的發(fā)展歷程
          php中關(guān)于引用(&)詳解 PHP正則表達(dá)式的幾則使用技巧
          信息發(fā)布:廣州名易軟件有限公司 http://www.jetlc.com
          • 勁爆價(jià):
            不限功能
            不限用戶
            1998元/年

          • 微信客服

            <output id="r87xx"></output>
          1. 
            
            <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
              • A亚洲视频| 影音先锋电影AV | 国产道高无码视频91 | аⅴ资源天堂资源库在线 | 怡红院成人视频 | 顶级欧美AAAAAA特级欧美AAAAAA | 九色在线视频 | 婷婷久久5月天 | 日韩专区高清无码 | 少妇搡B午夜躁 |