谈谈关于php的优点与缺点


Posted in PHP onApril 11, 2013

php优点

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等。

缺点

1.对多线程支持不太好,大多数时候我们只能简单的模拟去实现的。

2.语法不太严谨,比如变量不需要定义就可以使用,在c,java,c++中变量是必须先定义以后才可以使用的。

3.也许有经验的PHP程序员最感到痛苦的地方是PHP的解释运行机制。这种运行机制使得每个PHP页面被解释执行后,所有的相关资源都会被回收。也就是说,PHP在语言级别上没有办法让某个对象常驻内存。在PHP中,所有的变量都是页面级的,无论是全局变量,还是类的静态成员,都会在页面执行完毕后被清空。以JSP为例,在JSP中,Java Bean的scope有四种有效值:Page、Application、Session、Request,分别对应页面、程序、会话、请求四种生存期。但在PHP中,只有Page一种生存期。
PHP 相关文章推荐
php 清除网页病毒的方法
Dec 05 PHP
php ss7.5的数据调用 (笔记)
Mar 08 PHP
PHP 最大运行时间 max_execution_time修改方法
Mar 08 PHP
php使用多个进程同时控制文件读写示例
Feb 28 PHP
PHP获取数组长度或某个值出现次数的方法
Feb 11 PHP
php中删除数组的第一个元素和最后一个元素的函数
Mar 07 PHP
php判断两个日期之间相差多少个月份的方法
Jun 18 PHP
Yii实现简单分页的方法
Apr 29 PHP
基于thinkPHP类的插入数据库操作功能示例
Jan 06 PHP
PHP基于GD库实现的生成图片缩略图函数示例
Jul 05 PHP
Laravel利用gulp如何构建前端资源详解
Jun 03 PHP
如何在Mac上通过docker配置PHP开发环境
May 29 PHP
如何用PHP实现插入排序?
Apr 10 #PHP
关于shopex同步ucenter的redirect问题,导致script不运行
Apr 10 #PHP
克隆一个新项目的快捷方式
Apr 10 #PHP
str_replace只替换一次字符串的方法
Apr 09 #PHP
apache和php之间协同工作的配置经验分享
Apr 08 #PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
Apr 08 #PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
Apr 08 #PHP
You might like
解决phpmyadmin 乱码,支持gb2312和utf-8
2006/11/20 PHP
几种有用的变型 PHP中循环语句的用法介绍
2012/01/30 PHP
PHP基础知识回顾
2012/08/16 PHP
ThinkPHP验证码和分页实例教程
2014/08/22 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
PHP+JS实现的商品秒杀倒计时用法示例
2016/11/15 PHP
优化Jquery,提升网页加载速度
2013/11/14 Javascript
常用的jQuery前端技巧收集
2014/12/24 Javascript
js实现精美的图片跟随鼠标效果实例
2015/05/16 Javascript
jQuery实现表单步骤流程导航代码分享
2015/08/28 Javascript
JS实现IE状态栏文字缩放效果代码
2015/10/24 Javascript
js改变透明度实现轮播图的算法
2020/08/24 Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
2017/01/20 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
2019/02/28 Javascript
关于微信小程序获取小程序码并接受buffer流保存为图片的方法
2019/06/07 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
js页面加载后执行的几种方式小结
2020/01/30 Javascript
python安装以及IDE的配置教程
2015/04/29 Python
关于numpy中np.nonzero()函数用法的详解
2017/02/07 Python
学生信息管理系统python版
2018/10/17 Python
Python如何计算语句执行时间
2019/11/22 Python
Python实现名片管理系统
2020/02/14 Python
python如何使用代码运行助手
2020/07/03 Python
大学生职业生涯规划范文
2014/01/08 职场文书
初婚未育证明
2014/01/15 职场文书
聘用意向书范本
2014/04/01 职场文书
初中学校对照检查材料
2014/08/19 职场文书
学校政风行风评议工作总结
2014/10/21 职场文书
2014年政府采购工作总结
2014/12/09 职场文书
先进工作者个人总结
2015/02/15 职场文书
2016年过年放假安排通知
2015/08/18 职场文书
古诗之感恩老师
2019/10/24 职场文书
SQL Server数据定义——模式与基本表操作
2021/04/05 SQL Server
Vue CLI中模式与环境变量的深入详解
2021/05/30 Vue.js
maven 解包依赖项中的文件的解决方法
2022/07/15 Java/Android
xhunter1.sys可以删除嘛? win11提示xhunter1.sys驱动不兼容解决办法
2022/09/23 数码科技