• <menu id="w2i4a"></menu>
  • logo PHP框架/PHP IDE系列

    文檔首頁>>PHP框架/PHP IDE系列>>國產(chǎn)PHP框架ThinkPHP與SpeedPHP的淺析對(duì)比

    國產(chǎn)PHP框架ThinkPHP與SpeedPHP的淺析對(duì)比


    本文主要簡析兩個(gè)國產(chǎn)的PHP框架ThinkPHP與SpeedPHP。通過學(xué)習(xí)發(fā)現(xiàn),它倆在很多方面有著相似但又不同的地方:

    1.單一入口,二者都是單一入口文件。每個(gè)app都需要一個(gè)入口文件,且只能有一個(gè)入口文件。ThinkPHP生而就有多app支持的功能,比如在根目錄下建一個(gè)index.php,一個(gè)admin.php,其中index.php是前端app的入口,而admin.php則作為后臺(tái)app的入口。配置方法類似,只是define(‘APP_PATH’,’apppth’)和define(‘APP_NAME’,’appname’)略有不同而已。SpeedPHP盡管默認(rèn)支持單app,但通過合理配置模板目錄也可以實(shí)現(xiàn)這樣的功能,只是模板自動(dòng)輸出功能就用不上了,只好手動(dòng)寫模板輸出代碼。

    2.模板變量賦值和輸出模板。先說ThinkPHP,它給模板變量賦值是這樣的:$this->assign(‘var’,$var2),SpeedPHP中給模板變量賦值使用$this->var=$var2,其中兩個(gè)$var都是模板中要使用的變量,$var2則為控制器中的變量。模板輸出兩個(gè)框架相同,都使用:
    $this->display(‘templatepath’) .

    3.數(shù)據(jù)模型。兩個(gè)框架都是在Model中定義,不同的是ThinkPHP在類中幾乎不用寫任何代碼,只要把類名和數(shù)據(jù)庫名保持一致就行,而SpeedPHP則需要手動(dòng)指定數(shù)據(jù)庫表和主鍵。使用的時(shí)候都要先實(shí)例化。

    4.模板方面:ThinkPHP支持多種模板,默認(rèn)使用自已研發(fā)的Think模板系統(tǒng),據(jù)說比Smarty要快,這點(diǎn)無從考證;SpeedPHP支持的模板較少,默認(rèn)使用smarty。

    5.數(shù)據(jù)處理:個(gè)人感覺ThinkPHP的數(shù)據(jù)處理要比SpeedPHP強(qiáng)大的多,不僅表現(xiàn)在查詢語言上,而且它支持在多個(gè)模型中動(dòng)態(tài)切換且不丟失數(shù)據(jù)。

    6.安全性方面:ThinkPHP自身集成了安全驗(yàn)證功能,SpeedPHP沒有,需自己實(shí)現(xiàn)。

    總之,個(gè)人認(rèn)為SpeedPHP的性能優(yōu)于ThinkPHP了,因此在項(xiàng)目開發(fā)中首選后者較為妥當(dāng)。

    轉(zhuǎn)載來自http://blog.kiccp.com/321.html

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();