浅谈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和ACCESS写聊天室(二)
Oct 09 PHP
领悟php接口中interface存在的意义
Jun 27 PHP
php小经验:解析preg_match与preg_match_all 函数
Jun 29 PHP
PHP SplObjectStorage使用实例
May 12 PHP
PHP中substr_count()函数获取子字符串出现次数的方法
Jan 07 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
Apr 07 PHP
PHP请求Socket接口测试实例
Aug 12 PHP
php根据年月获取当月天数及日期数组的方法
Nov 30 PHP
laravel如何开启跨域功能示例详解
Aug 31 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
Aug 21 PHP
PHP数字金额转换成中文大写显示
Jan 05 PHP
laravel 时间格式转时间戳的例子
Oct 11 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
风格模板初级不完全修改教程
2006/10/09 PHP
PHP系统流量分析的程序
2006/10/09 PHP
解析wamp5下虚拟机配置文档
2013/06/27 PHP
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
屏蔽IE弹出"您查看的网页正在试图关闭窗口,是否关闭此窗口"的方法
2013/12/31 Javascript
js带点自动图片轮播幻灯片特效代码分享
2015/09/07 Javascript
JS实现搜索框文字可删除功能
2016/12/28 Javascript
Bootstrap组件之下拉菜单,多级菜单及按钮布局方法实例
2017/05/25 Javascript
php main 与 iframe 相互通讯类(js+php同域/跨域)
2017/09/14 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
jQuery中使用validate插件校验表单功能
2019/05/24 jQuery
vue 图片裁剪上传组件的实现
2020/11/12 Javascript
vue实现购物车的小练习
2020/12/21 Vue.js
解决python报错MemoryError的问题
2018/06/26 Python
使用Python3内置文档高效学习以及官方中文文档
2019/05/19 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
2019/10/24 Python
详解pandas赋值失败问题解决
2020/11/29 Python
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
美国最好的保健品打折网店:Swanson
2017/08/04 全球购物
施华洛世奇美国官网:SWAROVSKI美国
2018/02/08 全球购物
国际旅客访问北美最大的汽车租赁提供商:Alamo Rent A Car
2018/06/13 全球购物
日本整理专家Marie Kondo的官方在线商店:KonMari
2020/06/29 全球购物
表彰先进的通报
2014/01/31 职场文书
医疗纠纷协议书
2014/04/16 职场文书
快餐公司创业计划书
2014/04/29 职场文书
理财学专业自荐书
2014/06/28 职场文书
七一党日活动总结
2014/07/08 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
2014年学校党建工作总结
2014/11/11 职场文书
期末复习计划
2015/01/19 职场文书
英语辞职信怎么写
2015/02/28 职场文书
幼儿园小班教师随笔
2015/08/14 职场文书
《检阅》教学反思
2016/02/22 职场文书
python数字图像处理之图像自动阈值分割示例
2022/06/28 Python