谈谈关于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 远程文件管理,可以给表格排序,遍历目录,时间排序
Aug 07 PHP
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
Aug 09 PHP
PHP设计模式 注册表模式
Feb 05 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
Sep 16 PHP
php之curl实现http与https请求的方法
Oct 21 PHP
PHP开发框架laravel安装与配置教程
Mar 13 PHP
php递归遍历多维数组的方法
Apr 18 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
Sep 22 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
Oct 08 PHP
PHP常用的三种设计模式
Feb 17 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
Apr 03 PHP
yii2中LinkPager增加总页数和总记录数的实例
Aug 28 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
解析WordPress中的post_class与get_post_class函数
2016/01/04 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
jQuery学习笔记之控制页面实现代码
2012/02/27 Javascript
jQuery中after的两种用法实例
2013/07/03 Javascript
jquery 漂亮的删除确认和提交无刷新删除示例
2013/11/13 Javascript
JavaScript数值转换的三种方式总结
2014/07/31 Javascript
JavaScript实现从数组中选出和等于固定值的n个数
2014/09/03 Javascript
JS的数组迭代方法
2015/02/05 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
2015/08/10 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
原生js封装的一些jquery方法(详解)
2016/09/20 Javascript
JavaScript 实现的checkbox经典实例分享
2016/10/16 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
React 路由懒加载的几种实现方案
2018/10/23 Javascript
详解关于Angular4 ng-zorro使用过程中遇到的问题
2018/12/05 Javascript
vue3 源码解读之 time slicing的使用方法
2019/10/31 Javascript
深入解析微信小程序开发中遇到的几个小问题
2020/07/11 Javascript
Python open读写文件实现脚本
2008/09/06 Python
使用Python编写一个简单的tic-tac-toe游戏的教程
2015/04/16 Python
python opencv实现任意角度的透视变换实例代码
2018/01/12 Python
深入浅析python with语句简介
2018/04/11 Python
使用Eclipse如何开发python脚本
2018/04/11 Python
django 简单实现登录验证给你
2019/11/06 Python
Python 实现日志同时输出到屏幕和文件
2020/02/19 Python
Python3如何实现Win10桌面自动切换
2020/08/11 Python
Python爬虫自动化爬取b站实时弹幕实例方法
2021/01/26 Python
使用css3背景渐变中的透明度来设置不同颜色的背景渐变
2014/03/31 HTML / CSS
CSS3中的content属性使用示例
2015/07/20 HTML / CSS
编写html5时调试发现脚本php等网页js、css等失效
2013/12/31 HTML / CSS
澳大利亚领先的女帽及配饰公司:Morgan&Taylor
2019/12/01 全球购物
上海某公司.net方向笔试题
2014/09/14 面试题
代理班主任的自我评价
2014/02/04 职场文书
运动会口号16字
2014/06/07 职场文书
劳动保障个人工作总结
2015/03/04 职场文书
入党函调证明材料
2015/06/19 职场文书
sql注入教程之类型以及提交注入
2021/08/02 MySQL