面试题目: PHP 有哪些优缺点?
当面试官噼里啪啦的问你一大堆问题后,突然问你,PHP有哪些优缺点?你蒙了没? 反正我是蒙了,不管你信不信!
现在,关于PHP优缺点,大致的说几点:
1. 语法简单的,上手很快,而且还有很多很便捷的开发工具,比如说Zend Studio ,EclipsePHP Studio 等
2. 跨平台,而且还都是免费的 ,可以快速的在搭建LAMP(Linux Apache MYSQL, PHP), 支持很多主流的数据库系统,比如MYSQL, Oracle, PostgreSQL等等
3. 支持目前主流的技术,比如 WebService ,XML, AJAX 等等
4. PHP已经有很成熟的面向对象体系,可以支持面向对象的开发 (PHP5)
5. 有很多很好现有的框架,开源的论坛,以及博客等
如: 框架方面的: Zend Framework , CakePHP ,ThinkPHP ,CodeIgniter ..
论坛: Discuz, PHPWind ...
博客: Wordpress
网店: ECshop , Ecmall ,ShopEx ....
6. 持续的更新和维护,以及社区的支撑,很多技术爱好者的共同努力,使PHP得到很广泛的应用,很多知名的网站也在使用PHP作为开发语言,比如Taobao, 腾讯,facebook , Sina, yahoo 等等。
不足的地方:
1. 对多线程支持不是很好,只能做一些简单的模拟线程 。
2. 语法不够严谨,如果以前做C++,Java 的就会很有感觉了,比如变量还没有定义,就可能直接使用 。
3. 也许有经验的PHP程序员最感到痛苦的地方是PHP的解释运行机制。这种运行机制使得每个PHP页面被解释执行后,所有的相关资源都会被回收。也就是说,PHP在语言级别上没有办法让某个对象常驻内存。在PHP中,所有的变量都是页面级的,无论是全局变量,还是类的静态成员,都会在页面执行完毕后被清空。以JSP为例,在JSP中,Java Bean的scope有四种有效值:Page、Application、Session、Request,分别对应页面、程序、会话、请求四种生存期。但在PHP中,只有Page一种生存期。