淺談php的優(yōu)缺點(diǎn)
一、優(yōu)點(diǎn)
1. 跨平臺(tái),性能優(yōu)越,跟Linux/Unix結(jié)合別跟Windows結(jié)合性能強(qiáng)45%,并且和很多免費(fèi)的平臺(tái)結(jié)合非常省錢(qián),比如LAMP(Linux /Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)結(jié)合,或者數(shù)據(jù)應(yīng)用夠大可以考慮換 PostgreSQL或者Oracle,支持N種數(shù)據(jù)庫(kù)。(N >= 10)
2. 語(yǔ)法簡(jiǎn)單,如果有學(xué)習(xí)C和Perl的很容易上手,并且跟ASP有部分類(lèi)似。有成熟的開(kāi)發(fā)工具,比如NuPHPed,或者Zend Studio等等,再Linux平臺(tái)下可以使用Eclipse等等。
3. 目前主流技術(shù)都支持,比如WebService、Ajax、XML等等,足夠應(yīng)用。
4. 有比較完整的支持,比如使用ADODB或者PEAR::DB做數(shù)據(jù)庫(kù)抽象層,用Smarty或者smart template做模板層,如果是PHP 5.1的話(huà),還能夠使用PDO(PHP Data Object)來(lái)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)。
5. 有很多成熟的框架,比如支持MVC的框架:phpMVC,支持類(lèi)似ASP.net的事件驅(qū)動(dòng)的框架:Prado,支持類(lèi)似Ruby On Rails的快速開(kāi)發(fā)的框架:Cake等等,足夠滿(mǎn)足你的應(yīng)用需求。
6. PHP 5已經(jīng)有成熟的面向?qū)ο篌w系,能夠適應(yīng)基本的面向?qū)ο笠蟆_m合開(kāi)發(fā)大型項(xiàng)目。
7. 有成熟的社區(qū)來(lái)支持PHP的開(kāi)發(fā)。
8. 目前已經(jīng)很多大型應(yīng)用都是使用PHP,比如淘寶網(wǎng)、Yahoo、163、Sina等等大型門(mén)戶(hù),很多選用PHP來(lái)作為他們的開(kāi)發(fā)語(yǔ)言,所以大型門(mén)戶(hù)都能夠選用它,我想足夠能夠你的使用了。
9. 有很多開(kāi)源的框架或開(kāi)源的系統(tǒng)可以使用,比如比較知名的開(kāi)源框架有Zend Framework、CakePHP、CodeIgniter、symfony等,開(kāi)源論壇有Discuz!、Phpwind等,開(kāi)源博客 WordPress,開(kāi)源網(wǎng)店系統(tǒng)如Ecshop、ShopEx等,開(kāi)源的SNS系統(tǒng)如UCHome、ThinkSNS等。
10.使用成本低 (linux apache mysql php內(nèi)核)
二、缺點(diǎn)
1.對(duì)多線(xiàn)程支持不太好,大多數(shù)時(shí)候我們只能簡(jiǎn)單的模擬去實(shí)現(xiàn)的。
2.語(yǔ)法不太嚴(yán)謹(jǐn),比如變量不需要定義就可以使用,在c,java,c++中變量是必須先定義以后才可以使用的。
3.PHP的解釋運(yùn)行機(jī)制。這種運(yùn)行機(jī)制使得每個(gè)PHP頁(yè)面被解釋執(zhí)行后,所有的相關(guān)資源都會(huì)被回收。也就是說(shuō),PHP在語(yǔ)言級(jí)別上沒(méi)有辦法讓某個(gè)對(duì)象常駐內(nèi)存。在PHP中,所有的變量都是頁(yè)面級(jí)的,無(wú)論是全局變量,還是類(lèi)的靜態(tài)成員,都會(huì)在頁(yè)面執(zhí)行完畢后被清空。以JSP為例,在JSP中,Java Bean的scope有四種有效值:Page、Application、Session、Request,分別對(duì)應(yīng)頁(yè)面、程序、會(huì)話(huà)、請(qǐng)求四種生存期。但在PHP中,只有Page一種生存期。
相關(guān)文章
PHP中curl_setopt函數(shù)用法實(shí)例分析
這篇文章主要介紹了PHP中curl_setopt函數(shù)用法,以實(shí)例形式分析了curl_setopt函數(shù)的功能、定義、用途及相關(guān)的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
在同一窗體中使用PHP來(lái)處理多個(gè)提交任務(wù)
在PHP中的處理窗體數(shù)據(jù)比其它網(wǎng)頁(yè)程序語(yǔ)言更簡(jiǎn)單——如果你使用這種語(yǔ)言一段時(shí)間后,你會(huì)發(fā)現(xiàn)這是一個(gè)不可爭(zhēng)辯的事實(shí)。這種操作的簡(jiǎn)易性使它可以容易地處理更為復(fù)雜的窗體事件,包括今天討論的主題,即在同一個(gè)窗體中通過(guò)多個(gè)按鈕來(lái)處理不同的任務(wù)。2008-05-05
基于PHPexecl類(lèi)生成復(fù)雜的報(bào)表表頭示例
這篇文章主要介紹了基于PHPexecl類(lèi)生成復(fù)雜的報(bào)表表頭功能,結(jié)合實(shí)例形式分析了實(shí)例化PHPexecl類(lèi)生成復(fù)雜報(bào)表表頭的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2016-10-10
PHP實(shí)現(xiàn)簡(jiǎn)單ajax Loading加載功能示例
這篇文章主要介紹了PHP實(shí)現(xiàn)簡(jiǎn)單ajax Loading加載功能的方法,結(jié)合實(shí)例形式分析了ajax加載的原理、操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-12-12
php連接oracle數(shù)據(jù)庫(kù)的方法(測(cè)試成功)
這篇文章主要介紹了php連接oracle數(shù)據(jù)庫(kù)的方法,簡(jiǎn)單分析了php連接Oracle數(shù)據(jù)庫(kù)的常見(jiàn)方法與具體操作技巧,并對(duì)可能出現(xiàn)的問(wèn)題進(jìn)行了總結(jié)分析,需要的朋友可以參考下2016-05-05
對(duì)PHP PDO的一些認(rèn)識(shí)小結(jié)
這篇文章主要介紹了對(duì)PHP PDO的一些認(rèn)識(shí)小結(jié),本文講解了什么是PDO、啟用PDO的配置方法、PDO的預(yù)定義類(lèi)、事務(wù)處理例子等內(nèi)容,需要的朋友可以參考下2015-01-01
這篇文章主要介紹了php實(shí)現(xiàn)zip文件解壓操作的函數(shù)代碼,每一條函數(shù)代碼都有對(duì)應(yīng)的文字注釋?zhuān)枰呐笥芽梢詤⒖枷?/div> 2015-11-11最新評(píng)論

