谈谈关于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(2)
Oct 09 PHP
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
Nov 18 PHP
php下载远程文件类(支持断点续传)
Nov 14 PHP
PHP 字符串分割和比较
Oct 06 PHP
一步一步学习PHP(5) 类和对象
Feb 16 PHP
PHP session有效期session.gc_maxlifetime
Apr 20 PHP
具有时效性的php加密解密函数代码
Jun 19 PHP
ThinkPHP中的create方法与自动令牌验证实例教程
Aug 22 PHP
php实现的美国50个州选择列表实例
Apr 20 PHP
thinkPHP批量删除的实现方法分析
Nov 09 PHP
PHP实现动态删除XML数据的方法示例
Mar 30 PHP
PHP5.5新特性之yield理解与用法实例分析
Jan 11 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
2020年4月放送!《Princess Connect Re:Dive》制作组 & 角色声优公开!
2020/03/06 日漫
当年上海收录机产品生产,进口和价格情况
2021/03/04 无线电
实例讲解PHP设计模式编程中的简单工厂模式
2016/02/29 PHP
PHP实现的自定义数组排序函数与排序类示例
2016/11/18 PHP
用表格输出1-1000之间的数字实现代码(附特效)
2013/04/21 Javascript
jQuery中offsetParent()方法用法实例
2015/01/19 Javascript
基于jquery实现导航菜单高亮显示(两种方法)
2015/08/23 Javascript
浅谈JavaScript中数组的增删改查
2016/06/20 Javascript
Node.js实现兼容IE789的文件上传进度条
2016/09/02 Javascript
微信小程序 教程之列表渲染
2016/10/18 Javascript
jQuery日期范围选择器附源码下载
2017/05/23 jQuery
详解JS数组Reduce()方法详解及高级技巧
2017/08/18 Javascript
AngularJS使用$http配置对象方式与服务端交互方法
2018/08/13 Javascript
详解小程序循环require之坑
2019/03/08 Javascript
JS实现网页时钟特效
2020/03/25 Javascript
小程序实现多个选项卡切换
2020/06/19 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
python使用Flask框架获取用户IP地址的方法
2015/03/21 Python
python获取一组数据里最大值max函数用法实例
2015/05/26 Python
开始着手第一个Django项目
2015/07/15 Python
R vs. Python 数据分析中谁与争锋?
2017/10/18 Python
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
详解如何利用Cython为Python代码加速
2018/01/27 Python
python绘制规则网络图形实例
2019/12/09 Python
python中的 zip函数详解及用法举例
2020/02/16 Python
Python安装OpenCV的示例代码
2020/03/05 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
2020/07/01 Python
CSS3中利用animation属性创建雪花飘落特效
2014/05/14 HTML / CSS
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
Bootstrap 学习分享
2012/11/12 HTML / CSS
台湾流行服饰购物平台:OB严选
2018/01/21 全球购物
康帕斯酒店预订:Compass Hospitality(支持中文)
2018/08/23 全球购物
毕业设计计划书
2014/01/09 职场文书
2015年新教师工作总结
2015/04/28 职场文书
利用For循环遍历Python字典的三种方法实例
2022/03/25 Python