谈谈关于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来检测proxy
Oct 09 PHP
php中关于普通表单多文件上传的处理方法
Mar 25 PHP
php实现的一个很好用HTML解析器类可用于采集数据
Sep 23 PHP
基于PHP的简单采集数据入库程序
Jul 30 PHP
PHP与MYSQL中UTF8编码的中文排序实例
Oct 21 PHP
ThinkPHP查询语句与关联查询用法实例
Nov 01 PHP
WordPress网站性能优化指南
Nov 18 PHP
WordPress中调试缩略图的相关PHP函数使用解析
Jan 07 PHP
PHP中检索字符串的方法分析【strstr与substr_count方法】
Feb 17 PHP
ThinkPHP框架实现数据增删改
May 07 PHP
利用Homestead快速运行一个Laravel项目的方法详解
Nov 14 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
Mar 09 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
thinkPHP框架实现的简单计算器示例
2018/12/07 PHP
javascript 中对象的继承〔转贴〕
2007/01/22 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
2014/07/31 Javascript
JS 实现列表与多选框选择附预览动画
2014/10/29 Javascript
表单验证正则表达式实例代码详解
2015/11/09 Javascript
JS实现单击输入框弹出选择框效果完整实例
2015/12/14 Javascript
jQuery表格插件datatables用法详解
2020/11/23 Javascript
JS拖拽组件学习使用
2016/01/19 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
Javascript动画效果(1)
2016/10/11 Javascript
浅析BootStrap Treeview的简单使用
2016/10/12 Javascript
jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
2016/11/18 Javascript
基于ajax与msmq技术的消息推送功能实现代码
2016/12/26 Javascript
JavaScript中Math对象的方法介绍
2017/01/05 Javascript
JScript实现表格的简单操作
2017/08/15 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
2018/08/19 Javascript
Vue批量图片显示时遇到的路径被解析问题
2019/03/28 Javascript
JS实现的字符串数组去重功能小结
2019/06/17 Javascript
vue 使用微信jssdk,调用微信相册上传图片功能
2020/11/13 Javascript
Python写的一个简单监控系统
2015/06/19 Python
Python 由字符串函数名得到对应的函数(实例讲解)
2017/08/10 Python
python中requests库session对象的妙用详解
2017/10/30 Python
python实现机械分词之逆向最大匹配算法代码示例
2017/12/13 Python
Python爬虫包BeautifulSoup实例(三)
2018/06/17 Python
Python实现随机漫步功能
2018/07/09 Python
python实现堆排序的实例讲解
2020/02/21 Python
任意一块网页内容实现“活”的背景(目前火狐浏览器专有)
2014/05/07 HTML / CSS
俄罗斯优惠券网站:BIGLION
2017/05/21 全球购物
巴西购物网站:Submarino
2020/01/19 全球购物
ASICS印度官方网站:日本专业运动品牌
2020/06/20 全球购物
网上商城创业计划书范文
2014/01/31 职场文书
财政局党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
预备党员2014年第四季度思想汇报范文
2014/10/25 职场文书
无保留意见审计报告
2015/06/05 职场文书
AngularJS实现多级下拉框
2022/03/25 Javascript
JS前端监控采集用户行为的N种姿势
2022/07/23 Javascript