【优点】
1)跨平台,性能优越,跟Linux/Unix.别跟Windows结合,性能强45%。并且和很多免费的平台结合,非常省钱。
2)语法简单
3)目前主流技术都支持,比如AJAX等都足够应用
4)有比较完整的支持,比如使用ADODB或者PEAR::DB做数据库抽象层,用smarty或者smart template做模板层,或者使用PDO来访问数据库。
5)有很多很成熟的框架,比如支持MVC的框架:phpMVC;支持类似ASP.net的事件驱动的框架:Prado;支持类似Ruby On Rails的快速开发的框架:Cake等等,足够满足你的应用需求
6)成熟的面向对象体系
7)有很多开源的框架可以使用,比如CI,yaf;开源论坛discuz,开源博客WordPress,开源网店系统ECShop等等
【缺点】
1)函数命名不规范,驼峰法和下划线,传参位置不一
2)单线程,PHP本身就是一个单进程的程序
3)核心异步网络不支持(Linux只有同步非阻塞网络模型)。缺少这个很难开发一个能承受大并发的网络应用,传统的网络模型和IO都是阻塞的。这样基本的编程就是一个进程响应一个用户链接请求。因此无法完成像实时网游那样需要成千上万网络链接的任务。尽管有eio、libevent扩展对此算是某种程度上的弥补
4)只支持web层面上的开发,不方便做.exe文件、桌面程序、手机APP之类的
5)不适合做爬虫、自运行脚本、科学运算项目,虽然有很多方式可以实现
6)后期维护困难,后期提速空间局限很大
Php 的解释运行机制,是的每个PHP界面被解释执行后,所有的相关资源都会被回收。也就是说PHP在语言级别上没有办法让某个对象常驻内存。PHP的所有变量都是页面级别的,无论是全局变量还是类的静态成员,都会在页面执行完毕被清空。