谈谈关于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+AJAX聊天程序[聊天室]提供下载
Jul 21 PHP
某大型网络公司应聘时的笔试题目附答案
Mar 27 PHP
php heredoc和phpwind的模板技术使用方法小结
Mar 28 PHP
php验证手机号码(支持归属地查询及编码为UTF8)
Feb 01 PHP
探讨Hessian在PHP中的使用分析
Jun 13 PHP
基于PHP读取csv文件内容的详解
Jun 18 PHP
php 中文字符串首字母的获取函数分享
Nov 04 PHP
CakePHP框架Model函数定义方法示例
Aug 04 PHP
thinkPHP5分页功能实现方法分析
Oct 25 PHP
浅谈laravel-admin的sortable和orderby使用问题
Oct 03 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
Apr 02 PHP
php字符串倒叙
Apr 01 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
做一个有下拉功能的留言版
2006/10/09 PHP
生成卡号php代码
2008/04/09 PHP
删除及到期域名的查看(抢域名必备哦)
2008/05/14 PHP
PHP命令行脚本接收传入参数的三种方式
2014/08/20 PHP
PHP访问Google Search API的方法
2015/03/05 PHP
PHP模拟asp中response类实现方法
2015/08/08 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
2016/05/20 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
JS中for循序中延迟加载动态效果的具体实现
2013/08/18 Javascript
JavaScript动态修改背景颜色的方法
2015/04/16 Javascript
jQuery实现的图文高亮滚动切换特效实例
2015/08/10 Javascript
输入法的回车与消息发送快捷键回车的冲突解决方法
2016/08/09 Javascript
vuejs动态组件给子组件传递数据的方法详解
2016/09/09 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
设置cookie指定时间失效(实例代码)
2017/05/28 Javascript
vue 之 .sync 修饰符示例详解
2018/04/21 Javascript
如何用JavaScript实现功能齐全的单链表详解
2019/02/11 Javascript
JS实现transform实现扇子效果
2020/01/17 Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
2020/05/24 Javascript
[39:32]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第二场
2014/05/23 DOTA
PyQt5 窗口切换与自定义对话框的实例
2019/06/20 Python
用python打印菱形的实操方法和代码
2019/06/25 Python
python飞机大战pygame碰撞检测实现方法分析
2019/12/17 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
2020/02/03 Python
基于Python爬取爱奇艺资源过程解析
2020/03/02 Python
Python request使用方法及问题总结
2020/04/26 Python
美国背景检查、公共记录和人物搜索网站:BeenVerified
2018/02/25 全球购物
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
人事部主管岗位职责
2013/12/26 职场文书
《诺贝尔》教学反思
2014/02/17 职场文书
项目建议书格式
2014/03/12 职场文书
党的群众路线教育实践活动个人对照检查材料(公安)
2014/11/05 职场文书
工作表现证明
2015/06/15 职场文书
解决Python中的modf()函数取小数部分不准确问题
2021/05/28 Python
HTML中的表单元素介绍
2022/02/28 HTML / CSS
如何利用python实现列表嵌套字典取值
2022/06/10 Python