一、優點
1. 跨平台,性能優越,跟Linux/Unix結合別跟Windows結合性能強45%,並且和很多免費的平台結合非常省錢,比如LAMP(Linux /Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)結合,或者數據應用夠大可以考慮換 PostgreSQL或者Oracle,支持N種數據庫。(N >= 10)
2. 語法簡單,如果有學習C和Perl的很容易上手,並且跟ASP有部分類似。有成熟的開發工具,比如NuPHPed,或者Zend Studio等等,再Linux平台下可以使用Eclipse等等。
3. 目前主流技術都支持,比如WebService、Ajax、XML等等,足夠應用。
4. 有比較完整的支持,比如使用ADODB或者PEAR::DB做數據庫抽象層,用Smarty或者smart template做模板層,如果是PHP 5.1的話,還能夠使用PDO(PHP Data Object)來訪問數據庫。
5. 有很多成熟的框架,比如支持MVC的框架:phpMVC,支持類似ASP.net的事件驅動的框架:Prado,支持類似Ruby On Rails的快速開發的框架:Cake等等,足夠滿足你的應用需求。
6. PHP 5已經有成熟的面向對象體系,能夠適應基本的面向對象要求。適合開發大型項目。
7. 有成熟的社區來支持PHP的開發。
8. 目前已經很多大型應用都是使用PHP,比如淘寶網、Yahoo、163、Sina等等大型門戶,很多選用PHP來作為他們的開發語言,所以大型門戶都能夠選用它,我想足夠能夠你的使用了。
9. 有很多開源的框架或開源的系統可以使用,比如比較知名的開源框架有Zend Framework、CakePHP、CodeIgniter、symfony等,開源論壇有Discuz!、Phpwind等,開源博客 WordPress,開源網店系統如Ecshop、ShopEx等,開源的SNS系統如UCHome、ThinkSNS等。
10.使用成本低 (linux apache mysql php內核)
2.缺點,
1)函數命名不規范 駝峰法和下滑線,傳參位置不一 你知道的
2)單線程 ; PHP本身,一直以來php就是個單進程的程序;雖然php的pthreads擴展早就有了。但是它不夠穩定,運行運行着就會莫名其妙的自己掛掉;php的擴展都是C寫的,這也就意味着任何一個擴展出現線程競爭資源控制問題都能讓整個掛掉
3)核心異步網絡不支持(當然在linux只有同步非阻塞網絡模型)。卻少了這個使得很難開發一個能夠承受大並發的網絡應用。傳統的網絡模型和io都阻塞的。這樣基本的編程的做法就是一個進程(或者線程)響應一個用戶鏈接請求。因此無法完成像實時網游那樣需要成千上萬網絡連接的任務。盡管php也有Libevent、eio擴展對此算是某種程度上面的彌補,但是感覺都不是那么完善
4)只支持web開發,不方便做 .exe文件,不方便做桌面應用程序. 不方便做手機程序.
5)不適合做爬蟲、自動運行腳本.科學運算項目,這語言基本構架就不適合,雖然有很多方法實現。
6)后期維護困難。后期提速空間局限性較大。