PHP在Web开发领域的优势


Posted in PHP onOctober 09, 2006

    在多数WEB开发者眼中,ASP和JSP都被认为是领跑者,而PHP却被认为是个弱小的“挣扎者”,或者说它是一门被贬低为业余者才使用的语言,不值得参与企业Web开发的竞争。在我看来,PHP没有被当作竞争者的理由是评论者缺乏对它的了解,而且也不了解用于Web开发的其他操作系统。和一些观点相反,Windows不再占有Web虚拟主机服务市场的最大份额,我猜想它在Web开发这一领域里也在被摧城拔寨。

在企业开发里为什么没有PHP?

 
很显然,PHP被认为落后ASP和JSP太多,以至于它是没有什么用的,但是这恰恰与事实不符。PHP本身就是一门强大的语言。它事实上在每个发行版的Linux上都有,在Mac OS X上也有。获取开发和使用PHP代码的构件(building-block)工具和软件都是免费的。用于开发PHP应用程序的商业集成开发环境(commercial integrated development environments,IDES)也可以找到——这样的工具有Komodo(它运行在Linux和Windows上)和Zend Studio(这个应用程序能够运行在任何带有Java运行环境的操作系统上)。你几乎可以在每个Web虚拟主机上运行由PHP建立的网站,而不要考虑服务器所运行的是什么操作系统,这一事实让PHP更加具有吸引力。

PHP能够提供什么?

先把PHP周围有什么忘掉一会儿,而考虑一下PHP自身能够提供什么。它是一门强健的服务器端语言,能够提供相当多的功能,而且能够迅速地为页面提供服务。

容易使用

使用C或者Perl或者具有类似风格和句法的另一种语言的任何用户都能够很快上手PHP。尽管它是设计用在Web上的,但是它也能够作为命令行语言使用。你正在编写的Web应用程序需要每个小时或者每天执行一次某些代码吗?使用cron或者类似的计划安排管理器,你可以计划安排PHP代码在你希望的时候执行,使用普通的命令解释脚本或者批处理文件就能够执行这样的代码。不需要自动调用浏览器就能够查看专门的网页,从而执行你的事件,也没有必要依赖来访者的点击来告诉你的系统:特定的代码需要在特定的时候被执行。PHP在这一领域可扩展性的事实是绝对具有吸引力的。

PHP的好处

 
我不是JSP或者ASP的老手,在此我也不想贬低这些语言。相反,我会把注意力放在PHP的好处上。

本地化
PHP让你能够为网站的访问者提供本地化的服务。当用户点击进入网站的时候,网站会根据他们浏览器的设置自动地以其母语向其提供页面。要实现这一点不需要使用用于语言翻译的烦杂文件,而是使用和本地化的C程序所具有的相同能力,通过一个叫做gettext的系统实现的。如果被请求的语言文件存在,那么用户所看到的文本就是其母语;如果语言文件不存在,那么文本就是缺省的英语或者其他任何你所指定的语言。许多本地化的UNIX应用程序都将gettext作为标准,它让第三方的翻译变得轻而易举。

轻易地使用命令行
PHP支持在需要的地方设置和执行命令行程序。使用标准的UNIX diff工具,它能够生成错误最后一次修改同要使用电子邮件发送到错误的所有者的当前注释之间的不同。PHP代码对在系统上所编写的两个文件执行diff,将其输出作为输入,再生成一个要发送的电子邮件。这封电子邮件是通过PHP自己来发送的。

其他好处
上面的只是我在自己程序里所用到的强大功能中的两个,而还其他的功能。例如,你可以:

即时创建简单的Flash动画。
即时创建PDF文档。
使用高级数学功能,以及面向对象的编程技术。
读取和写入到本地和IMAP邮箱。
在PHP里就可以使用任何标准的Internet协议。想要编写基于PHP的FTP、Web或者新闻客户端?没有问题!只使用PHP你就完全能够编写出使用标准TCP/IP套接字的客户端和服务器,并以此创建自己的协议。
实现对加密的支持,以及对各种数据库服务器的支持。
缺乏远见的评论

我觉得,那些寻找顶级Web开发语言而排除掉PHP的人是极其短见的。我使用PHP编写代码已经有很多年了,无论是像错误追踪系统这样的高级功能,还是简单地重复使用页眉和页脚这样的普通功能,我都使用PHP编写过。我用PHP编写过半静态的页面,也编写过全功能的多媒体演示。我不是唯一一个使用PHP的人。如果PHP不值得引起注意,如果它只是小儿科或者爱好者的语言,那它为什么会是在Web开发上成长最快的语言呢?如果它没有ASP或者JSP那么强大,那么它为什么会被用在流量巨大Web网站上?例如Yahoo,据说它就是由PHP建成的。

开发人员习惯用熟悉的产品

我敢肯定,ASP 和JSP有它们各自的强项,但是我相信人们是用它们不是因为它们能够提供比PHP更加强大的功能,而是因为人们已经了解了它们,并希望以自己习惯的方法编写代码。排除PHP只能表示对这一语言的无知。

 

PHP 相关文章推荐
一个程序下载的管理程序(三)
Oct 09 PHP
据说是雅虎的一份PHP面试题附答案
Jan 07 PHP
初次接触php抽象工厂模式(Elgg)
Mar 21 PHP
PHP similar_text 字符串的相似性比较函数
May 26 PHP
屏蔽机器人从你的网站搜取email地址的php代码
Nov 14 PHP
php安全开发 添加随机字符串验证,防止伪造跨站请求
Feb 14 PHP
PHP函数addslashes和mysql_real_escape_string的区别
Apr 22 PHP
CodeIgniter表单验证方法实例详解
Mar 03 PHP
php用正则判断是否为数字的方法
Mar 25 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
Nov 09 PHP
使用PHP+MySql实现微信投票功能实例代码
Sep 29 PHP
如何在PHP中使用AES加密算法加密数据
Jun 24 PHP
优化NFR之一 --MSSQL Hello Buffer Overflow
Oct 09 #PHP
风格模板初级不完全修改教程
Oct 09 #PHP
如何对PHP程序中的常见漏洞进行攻击
Oct 09 #PHP
PHP安全配置
Oct 09 #PHP
用PHP 4.2书写安全的脚本
Oct 09 #PHP
3.从实例开始
Oct 09 #PHP
漂亮但不安全的CTB
Oct 09 #PHP
You might like
php获得文件扩展名三法
2006/11/25 PHP
Zend framework处理一个http请求的流程分析
2010/02/08 PHP
PHP垃圾回收机制简单说明
2010/07/22 PHP
php绘制一个矩形的方法
2015/01/24 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
2017/06/11 PHP
php实现websocket实时消息推送
2018/03/30 PHP
php使用yield对性能提升的测试实例分析
2019/09/19 PHP
jQuery 各种浏览器下获得日期区别
2008/12/22 Javascript
javascript Excel操作知识点
2009/04/24 Javascript
jQuery 阴影插件代码分享
2012/01/09 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
JS实现网页标题随机显示名人名言的方法
2015/11/03 Javascript
Vue结合Video.js播放m3u8视频流的方法示例
2018/05/04 Javascript
angularjs $http调用接口的方式详解
2018/08/13 Javascript
原生js实现抽奖小游戏
2019/06/27 Javascript
ES6基础之数组和对象的拓展实例详解
2019/08/22 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
[04:29]【TI9采访】OG.N0tail在胜者组决赛后接受采访
2019/08/25 DOTA
python中xrange和range的区别
2014/05/13 Python
Python的Django框架中if标签的相关使用
2015/07/15 Python
python机器学习之贝叶斯分类
2018/03/26 Python
python实现将一个数组逆序输出的方法
2018/06/25 Python
Django实现微信小程序的登录验证功能并维护登录态
2019/07/04 Python
Python安装OpenCV的示例代码
2020/03/05 Python
Windows 下python3.8环境安装教程图文详解
2020/03/11 Python
详解anaconda离线安装pytorchGPU版
2020/09/08 Python
CSS3实现超慢速移动动画效果非常流畅无卡顿
2014/06/15 HTML / CSS
微软瑞士官方网站:Microsoft瑞士
2018/04/20 全球购物
HomeAway英国:全球领先的度假租赁在线市场
2020/02/03 全球购物
建筑工程技术应届生自荐信
2013/09/27 职场文书
新农村建设汇报材料
2014/08/15 职场文书
技术负责人岗位职责
2015/02/10 职场文书
暑期实践个人总结
2015/03/06 职场文书
义卖募捐活动总结
2015/05/09 职场文书
新店开张宣传语
2015/07/13 职场文书
python使用pycharm安装pyqt5以及相关配置
2022/04/22 Python