浅谈php的优缺点

1、优势php

1. 跨平台,性能优越,跟Linux/Unix结合别跟Windows结合性能强45%,而且和不少免费的平台结合很是省钱,好比LAMP(Linux /Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)结合,或者数据应用够大能够考虑换 PostgreSQL或者Oracle,支持N种数据库。(N >= 10)mysql

2. 语法简单,若是有学习C和Perl的很容易上手,而且跟ASP有部分相似。有成熟的开发工具,好比NuPHPed,或者Zend Studio等等,再Linux平台下可使用Eclipse等等。linux

3. 目前主流技术都支持,好比WebService、Ajax、XML等等,足够应用。web

4. 有比较完整的支持,好比使用ADODB或者PEAR::DB作数据库抽象层,用Smarty或者smart template作模板层,若是是PHP 5.1的话,还可以使用PDO(PHP Data Object)来访问数据库。sql

5. 有不少成熟的框架,好比支持MVC的框架:phpMVC,支持相似ASP.net的事件驱动的框架:Prado,支持相似Ruby On Rails的快速开发的框架:Cake等等,足够知足你的应用需求。数据库

6. PHP 5已经有成熟的面向对象体系,可以适应基本的面向对象要求。适合开发大型项目。apache

7. 有成熟的社区来支持PHP的开发。编程

8. 目前已经不少大型应用都是使用PHP,好比淘宝网、Yahoo、16三、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)后期维护困难。后期提速空间局限性较大。

7).PHP的解释运行机制。这种运行机制使得每一个PHP页面被解释执行后,全部的相关资源都会被回收。也就是说,PHP在语言级别上没有办法让某个对象常驻内存。在PHP中,全部的变量都是页面级的,不管是全局变量,仍是类的静态成员,都会在页面执行完毕后被清空。以JSP为例,在JSP中,Java Bean的scope有四种有效值:Page、Application、Session、Request,分别对应页面、程序、会话、请求四种生存期。但在PHP中,只有Page一种生存期。
引用鸟哥[ Laruence]的话:
说PHP不支持多线程(90% of这些人不知道多线程模型和IO复用模型的不相伯仲), 烂. 说PHP不支持异步(90% of这些人, 根本不知道异步表明什么), 烂. 说PHP是屌丝语言(99% of这些人是想找寻智商优越感), 烂. 往往我看到这种的论调, 我真的很无奈, 由于你根本没办法让一个装傻的人变聪明.
相关文章
相关标签/搜索