浅谈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 相关文章推荐
js下函数般调用正则的方法附代码
Jun 22 PHP
浅谈PHP 闭包特性在实际应用中的问题
Oct 30 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
Jul 18 PHP
php简单图像创建入门实例
Jun 10 PHP
PHP实现简单爬虫的方法
Jul 29 PHP
CodeIgniter配置之autoload.php自动加载用法分析
Jan 20 PHP
PHP编程入门的基本语法知识点总结
Jan 26 PHP
php出租房数据管理及搜索页面
May 23 PHP
php 广告点击统计代码(php+mysql)
Feb 21 PHP
php workerman定时任务的实现代码
Dec 23 PHP
php PDO属性设置与操作方法分析
Dec 27 PHP
Laravel中GraphQL接口请求频率实战记录
Sep 01 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
PHP实现根据时间戳获取周几的方法
2016/02/26 PHP
javascript的原生方法获取数组中的最大(最小)值
2012/12/19 Javascript
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
2013/01/11 Javascript
JS Replace 全部替换字符的用法小结
2013/12/24 Javascript
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
详细解密jsonp跨域请求
2015/04/15 Javascript
javascript实现简单加载随机色方块
2015/12/25 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
jquery-mobile表单的创建方法详解
2016/11/23 Javascript
JavaScript ES6中export、import与export default的用法和区别
2017/03/14 Javascript
jQuery为某个div加入行样式
2017/06/09 jQuery
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
jQuery实现简单的计时器功能实例分析
2017/08/29 jQuery
Vue在页面数据渲染完成之后的调用方法
2018/09/11 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
element-ui组件table实现自定义筛选功能的示例代码
2019/03/15 Javascript
小程序中this.setData的使用和注意事项
2019/08/28 Javascript
Python中使用Flask、MongoDB搭建简易图片服务器
2015/02/04 Python
python学生信息管理系统
2018/03/13 Python
Python输入二维数组方法
2018/04/13 Python
python 获取utc时间转化为本地时间的方法
2018/12/31 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
2020/02/23 Python
如何使用python代码操作git代码
2020/02/29 Python
Python2手动安装更新pip过程实例解析
2020/07/16 Python
python3.9.1环境安装的方法(图文)
2021/02/02 Python
html5 canvas的绘制文本自动换行的示例代码
2018/09/17 HTML / CSS
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
秋季婚礼证婚词
2014/01/11 职场文书
土木工程专业本科生求职信
2014/10/01 职场文书
安全月宣传标语
2014/10/07 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话全文
2014/10/25 职场文书
考研英语复习计划
2015/01/19 职场文书
大学生自荐书范文
2015/03/05 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
Java 多态分析
2022/04/26 Java/Android