淺談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ù)庫(kù)。(N >= 10)
2. 語(yǔ)法簡(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ù)庫(kù)抽象層,用Smarty或者smart template做模板層,如果是PHP 5.1的話,還能夠使用PDO(PHP Data Object)來(lái)訪問數(shù)據(jù)庫(kù)。
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ū)來(lái)支持PHP的開發(fā)。
8. 目前已經(jīng)很多大型應(yīng)用都是使用PHP,比如淘寶網(wǎng)、Yahoo、163、Sina等等大型門戶,很多選用PHP來(lái)作為他們的開發(fā)語(yǔ)言,所以大型門戶都能夠選用它,我想足夠能夠你的使用了。
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ǔ)法不太嚴(yán)謹(jǐn),比如變量不需要定義就可以使用,在c,java,c++中變量是必須先定義以后才可以使用的。
3.PHP的解釋運(yùn)行機(jī)制。這種運(yùn)行機(jī)制使得每個(gè)PHP頁(yè)面被解釋執(zhí)行后,所有的相關(guān)資源都會(huì)被回收。也就是說,PHP在語(yǔ)言級(jí)別上沒有辦法讓某個(gè)對(duì)象常駐內(nèi)存。在PHP中,所有的變量都是頁(yè)面級(jí)的,無(wú)論是全局變量,還是類的靜態(tài)成員,都會(huì)在頁(yè)面執(zhí)行完畢后被清空。以JSP為例,在JSP中,Java Bean的scope有四種有效值:Page、Application、Session、Request,分別對(duì)應(yīng)頁(yè)面、程序、會(huì)話、請(qǐng)求四種生存期。但在PHP中,只有Page一種生存期。
相關(guān)文章
PHP列出MySQL中所有數(shù)據(jù)庫(kù)的方法
這篇文章主要介紹了PHP列出MySQL中所有數(shù)據(jù)庫(kù)的方法,涉及php操作數(shù)據(jù)庫(kù)的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03php進(jìn)程daemon化的正確實(shí)現(xiàn)方法
守護(hù)進(jìn)程(Daemon)是運(yùn)行在后臺(tái)的一種特殊進(jìn)程。下面這篇文章主要給大家介紹了關(guān)于php進(jìn)程daemon化的正確實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09php+ajax實(shí)時(shí)輸入自動(dòng)搜索匹配的方法
這篇文章主要介紹了php+ajax實(shí)時(shí)輸入自動(dòng)搜索匹配的方法,實(shí)例分析了兩種實(shí)現(xiàn)方法,是非常實(shí)用的技巧,需要的朋友可以參考下2014-12-12PHP 的ArrayAccess接口 像數(shù)組一樣來(lái)訪問你的PHP對(duì)象
如果想讓對(duì)象使用起來(lái)像一個(gè) PHP 數(shù)組,那么我們需要實(shí)現(xiàn) ArrayAccess 接口2010-10-10