谈谈关于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部分常见问题总结
Oct 09 PHP
用PHP制作静态网站的模板框架(三)
Oct 09 PHP
php相当简单的分页类
Oct 02 PHP
php数组(array)输出的三种形式详解
Jun 05 PHP
PHP统计目录大小的自定义函数分享
Nov 18 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
Jan 26 PHP
php通过array_merge()函数合并关联和非关联数组的方法
Mar 18 PHP
php实现读取内存顺序号
Mar 29 PHP
PHP CodeIgniter框架的工作原理研究
Mar 30 PHP
php生成静态html页面的方法(2种方法)
Sep 14 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
Aug 30 PHP
php用户名的密码加密更安全的方法
Jun 21 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
Protoss兵种介绍
2020/03/14 星际争霸
php下将图片以二进制存入mysql数据库中并显示的实现代码
2010/05/27 PHP
php 带逗号千位符数字的处理方法
2012/01/10 PHP
用php实现百度网盘图片直链的代码分享
2012/11/01 PHP
PHP页面中文乱码分析
2013/10/29 PHP
CodeIgniter连贯操作的底层原理分析
2016/05/17 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
2017/06/10 PHP
鼠标移动到一张图片时变为另一张图片
2006/12/05 Javascript
JS中confirm,alert,prompt函数使用区别分析
2010/04/01 Javascript
extjs 04_grid 单击事件新发现
2012/11/27 Javascript
httpclient模拟登陆具体实现(使用js设置cookie)
2013/12/11 Javascript
node.js操作mongoDB数据库示例分享
2014/11/26 Javascript
jQuery中andSelf()方法用法实例
2015/01/08 Javascript
JavaScript采用递归算法计算阶乘实例
2015/08/04 Javascript
JS实现简单的二维矩阵乘积运算
2016/01/26 Javascript
详解Vue 普通对象数据更新与 file 对象数据更新
2017/04/26 Javascript
前端构建工具之gulp的配置与搭建详解
2017/06/12 Javascript
VUE页面中加载外部HTML的示例代码
2017/09/20 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
2018/05/08 Javascript
基于Vue实现平滑过渡的拖拽排序功能
2019/06/12 Javascript
微信小程序页面调用自定义组件内的事件详解
2019/09/12 Javascript
浅谈Vue 自动化部署打包上线
2020/06/14 Javascript
详解Python编程中包的概念与管理
2015/10/16 Python
python解析基于xml格式的日志文件
2017/02/25 Python
Python 查看list中是否含有某元素的方法
2018/06/27 Python
python cs架构实现简单文件传输
2020/03/20 Python
python取数作为临时极大值(极小值)的方法
2018/10/15 Python
Python基础知识点 初识Python.md
2019/05/14 Python
利用pyuic5将ui文件转换为py文件的方法
2019/06/19 Python
如何将json数据转换为python数据
2020/09/04 Python
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
2016/05/09 HTML / CSS
天猫精选:上天猫,就够了
2016/09/21 全球购物
C# Debug和Testing相关面试题
2015/10/25 面试题
师范院校学生自荐信范文
2013/12/27 职场文书
捐书活动总结
2014/05/04 职场文书
Python机器学习应用之工业蒸汽数据分析篇详解
2022/01/18 Python