淺談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é)合非常省錢,比如LAMP(Linux /Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)結(jié)合,或者數(shù)據(jù)應(yīng)用夠大可以考慮換 PostgreSQL或者Oracle,支持N種數(shù)據(jù)庫。(N >= 10)
2. 語法簡(jiǎn)單,如果有學(xué)習(xí)C和Perl的很容易上手,并且跟ASP有部分類似。有成熟的開發(fā)工具,比如NuPHPed,或者Zend Studio等等,再Linux平臺(tái)下可以使用Eclipse等等。
3. 目前主流技術(shù)都支持,比如WebService、Ajax、XML等等,足夠應(yīng)用。
4. 有比較完整的支持,比如使用ADODB或者PEAR::DB做數(shù)據(jù)庫抽象層,用Smarty或者smart template做模板層,如果是PHP 5.1的話,還能夠使用PDO(PHP Data Object)來訪問數(shù)據(jù)庫。
5. 有很多成熟的框架,比如支持MVC的框架:phpMVC,支持類似ASP.net的事件驅(qū)動(dòng)的框架:Prado,支持類似Ruby On Rails的快速開發(fā)的框架:Cake等等,足夠滿足你的應(yīng)用需求。
6. PHP 5已經(jīng)有成熟的面向?qū)ο篌w系,能夠適應(yīng)基本的面向?qū)ο笠?。適合開發(fā)大型項(xiàng)目。
7. 有成熟的社區(qū)來支持PHP的開發(fā)。
8. 目前已經(jīng)很多大型應(yīng)用都是使用PHP,比如淘寶網(wǎng)、Yahoo、163、Sina等等大型門戶,很多選用PHP來作為他們的開發(fā)語言,所以大型門戶都能夠選用它,我想足夠能夠你的使用了。
9. 有很多開源的框架或開源的系統(tǒng)可以使用,比如比較知名的開源框架有Zend Framework、CakePHP、CodeIgniter、symfony等,開源論壇有Discuz!、Phpwind等,開源博客 WordPress,開源網(wǎng)店系統(tǒng)如Ecshop、ShopEx等,開源的SNS系統(tǒng)如UCHome、ThinkSNS等。
10.使用成本低 (linux apache mysql php內(nèi)核)
二、缺點(diǎn)
1.對(duì)多線程支持不太好,大多數(shù)時(shí)候我們只能簡(jiǎn)單的模擬去實(shí)現(xiàn)的。
2.語法不太嚴(yán)謹(jǐn),比如變量不需要定義就可以使用,在c,java,c++中變量是必須先定義以后才可以使用的。
3.PHP的解釋運(yùn)行機(jī)制。這種運(yùn)行機(jī)制使得每個(gè)PHP頁面被解釋執(zhí)行后,所有的相關(guān)資源都會(huì)被回收。也就是說,PHP在語言級(jí)別上沒有辦法讓某個(gè)對(duì)象常駐內(nèi)存。在PHP中,所有的變量都是頁面級(jí)的,無論是全局變量,還是類的靜態(tài)成員,都會(huì)在頁面執(zhí)行完畢后被清空。以JSP為例,在JSP中,Java Bean的scope有四種有效值:Page、Application、Session、Request,分別對(duì)應(yīng)頁面、程序、會(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
基于PHPexecl類生成復(fù)雜的報(bào)表表頭示例
這篇文章主要介紹了基于PHPexecl類生成復(fù)雜的報(bào)表表頭功能,結(jié)合實(shí)例形式分析了實(shí)例化PHPexecl類生成復(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ù)庫的方法(測(cè)試成功)
這篇文章主要介紹了php連接oracle數(shù)據(jù)庫的方法,簡(jiǎn)單分析了php連接Oracle數(shù)據(jù)庫的常見方法與具體操作技巧,并對(duì)可能出現(xià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ù)定義類、事務(wù)處理例子等內(nèi)容,需要的朋友可以參考下2015-01-01

