浅谈php的优缺点


Posted in PHP onJuly 14, 2015

一、优点

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

10.使用成本低  (linux apache mysql php内核)

二、缺点

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

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

3.PHP的解释运行机制。这种运行机制使得每个PHP页面被解释执行后,所有的相关资源都会被回收。也就是说,PHP在语言级别上没有办法让某个对象常驻内存。在PHP中,所有的变量都是页面级的,无论是全局变量,还是类的静态成员,都会在页面执行完毕后被清空。以JSP为例,在JSP中,Java Bean的scope有四种有效值:Page、Application、Session、Request,分别对应页面、程序、会话、请求四种生存期。但在PHP中,只有Page一种生存期。

PHP 相关文章推荐
PHP如何得到当前页和上一页的地址?
Nov 27 PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
Aug 22 PHP
Linux下php5.4启动脚本
Aug 03 PHP
php中json_encode UTF-8中文乱码的更好解决方法
Sep 28 PHP
PHP内置的Math函数效率测试
Dec 01 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
Jun 10 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
Sep 30 PHP
Yii列表定义与使用分页方法小结(3种方法)
Jul 15 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
Apr 15 PHP
PHP实现驼峰样式字符串(首字母大写)转换成下划线样式字符串的方法示例
Aug 10 PHP
Laravel框架自定义验证过程实例分析
Feb 01 PHP
使用PHPWord生成word文档的方法详解
Jun 06 PHP
使用URL传输SESSION信息
Jul 14 #PHP
利用“多说”制作留言板、评论系统
Jul 14 #PHP
php生成数字字母的验证码图片
Jul 14 #PHP
php算法实例分享
Jul 14 #PHP
php根据生日计算年龄的方法
Jul 13 #PHP
php获取英文姓名首字母的方法
Jul 13 #PHP
php根据日期显示所在星座的方法
Jul 13 #PHP
You might like
用PHP制作静态网站的模板框架(一)
2006/10/09 PHP
mysql 搜索之简单应用
2007/04/27 PHP
preg_match_all使用心得分享
2014/01/31 PHP
typecho插件编写教程(二):写一个新插件
2015/05/28 PHP
PHP如何将图片文件上传到另外一台服务器上
2019/08/26 PHP
PHP rsa加密解密算法原理解析
2020/12/09 PHP
JavaScript中的私有成员
2006/09/18 Javascript
js遍历td tr等html元素
2012/12/13 Javascript
javascript将数字转换整数金额大写的方法
2015/01/27 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
2015/08/26 Javascript
Javascript实现检测客户端类型代码封包
2015/12/03 Javascript
微信小程序 input输入框控件详解及实例(多种示例)
2016/12/14 Javascript
原生JS实现《别踩白块》游戏(兼容IE)
2017/02/20 Javascript
js禁止浏览器的回退事件
2017/04/20 Javascript
webpack打包非模块化js的方法
2018/10/24 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
2019/07/19 Javascript
Layui Table js 模拟选中checkbox的例子
2019/09/03 Javascript
vue 解决provide和inject响应的问题
2020/11/12 Javascript
Python 函数基础知识汇总
2018/03/09 Python
python实现全盘扫描搜索功能的方法
2019/02/14 Python
Python3 JSON编码解码方法详解
2019/09/06 Python
python-视频分帧&多帧合成视频实例
2019/12/10 Python
Python3+selenium配置常见报错解决方案
2020/08/28 Python
css3实现六边形边框的实例代码
2019/05/24 HTML / CSS
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
办公室前台岗位职责
2014/01/04 职场文书
中学教师教育感言
2014/02/21 职场文书
毕业论文评语大全
2014/04/29 职场文书
青年安全生产示范岗事迹材料
2014/05/04 职场文书
创先争优一句话承诺
2014/05/29 职场文书
项目合作意向书模板
2014/07/29 职场文书
抗洪救灾感谢信
2015/01/22 职场文书
土地租赁协议书
2015/01/29 职场文书
关于职业道德的心得体会
2016/01/18 职场文书
Log4j.properties配置及其使用
2021/08/02 Java/Android
【海涛dota解说】一房久违的影魔魂守二连发
2022/04/01 DOTA