谈谈关于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 相关文章推荐
15种PHP Encoder的比较
Apr 17 PHP
php中通过Ajax如何实现异步文件上传的代码实例
May 07 PHP
浅析is_writable的php实现
Jun 18 PHP
使用php判断网页是否gzip压缩
Jun 25 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
Jun 24 PHP
PHP生成不重复随机数的方法汇总
Nov 19 PHP
php使用MySQL保存session会话的方法
Jun 26 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
Dec 10 PHP
weiphp微信公众平台授权设置
Jan 04 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
Dec 25 PHP
PHP实现单条sql执行多个数据的insert语句方法
Oct 11 PHP
微信小程序结合ThinkPHP5授权登陆后获取手机号
Nov 23 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
php中文字符截取防乱码
2008/03/28 PHP
PHP SESSION跨页面传递失败解决方案
2020/12/11 PHP
通过JAVAScript实现页面自适应
2007/01/19 Javascript
jquery 图片预加载 自动等比例缩放插件
2008/12/25 Javascript
javascript 弹出窗口中是否显示地址栏的实现代码
2011/04/14 Javascript
jquery操作复选框(checkbox)的12个小技巧总结
2014/02/04 Javascript
jquery中append()与appendto()用法分析
2014/11/14 Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
2015/10/09 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
2015/12/24 Javascript
Sea.JS知识总结
2016/05/05 Javascript
JavaScript实现二分查找实例代码
2017/02/22 Javascript
Windows下使用Nodejs运行js的方法
2017/09/02 NodeJs
使用live-server快速搭建本地服务器+自动刷新的方法
2018/03/09 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
手把手教你用Node.js爬虫爬取网站数据的方法
2018/07/05 Javascript
jQuery实现仿京东防抖动菜单效果示例
2018/07/06 jQuery
你应该了解的JavaScript Array.map()五种用途小结
2018/11/14 Javascript
微信小程序实现下滑到底部自动翻页功能
2020/03/07 Javascript
vue中touch和click共存的解决方式
2020/07/28 Javascript
windows下wxPython开发环境安装与配置方法
2014/06/28 Python
Python中property属性实例解析
2018/02/10 Python
深入浅析Python获取对象信息的函数type()、isinstance()、dir()
2018/09/17 Python
django settings.py 配置文件及介绍
2019/07/15 Python
Pandas分组与排序的实现
2019/07/23 Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
2020/04/20 Python
python Cartopy的基础使用详解
2020/11/01 Python
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
2013/06/09 HTML / CSS
马云的职业生涯规划之路
2014/01/01 职场文书
会计工作决心书
2014/03/11 职场文书
艾滋病宣传活动总结
2014/05/08 职场文书
学生偷窃检讨书
2014/09/25 职场文书
武侯祠导游词
2015/02/04 职场文书
2015年银行工作总结范文
2015/04/01 职场文书
导游词之长城八达岭
2019/09/24 职场文书
再见,2019我们不负使命;你好,2020我们砥砺前行
2020/01/03 职场文书
详解SQL报错盲注
2022/07/23 SQL Server