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 相关文章推荐
PHP如何得到当前页和上一页的地址?
Nov 27 PHP
解析PHP中ob_start()函数的用法
Jun 24 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
Aug 09 PHP
PHP中如何实现常用邮箱的基本判断
Jan 07 PHP
Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
Jun 22 PHP
php图像处理类实例
Jul 28 PHP
简单介绍win7下搭建apache+php+mysql开发环境
Aug 06 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
Dec 21 PHP
详解WordPress开发中用于获取分类及子页面的函数用法
Jan 08 PHP
WordPress过滤垃圾评论的几种主要方法小结
Jul 11 PHP
PHP7标量类型declare用法实例分析
Sep 26 PHP
Yii框架用户登录session丢失问题解决方法
Jan 07 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
星际流派综述
2020/03/04 星际争霸
又拍云异步上传实例教程详解
2016/04/19 PHP
PHP判断文件是否被引入的方法get_included_files用法示例
2016/11/29 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
PHP实现链表的定义与反转功能示例
2018/06/09 PHP
Jquery中显示隐藏的实现代码分析
2011/07/26 Javascript
jquery 之 $().hover(func1, funct2)使用方法
2012/06/14 Javascript
js 图片随机不定向浮动的实现代码
2013/07/02 Javascript
JQuery跳出each循环的方法
2015/04/16 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
2016/11/20 Javascript
zTree实现节点修改的实时刷新功能
2017/03/20 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
angular $watch 一个变量的变化(实例讲解)
2017/08/02 Javascript
React-Native中props具体使用详解
2017/09/04 Javascript
vue axios 在页面切换时中断请求方法 ajax
2018/03/05 Javascript
vue 表单验证按钮事件交由父组件触发的方法
2018/12/17 Javascript
微信小程序生成分享海报方法(附带二维码生成)
2019/03/29 Javascript
jquery中attr、prop、data区别与用法分析
2019/09/25 jQuery
12 种使用Vue 的最佳做法
2020/03/30 Javascript
Python实现的生成格雷码功能示例
2018/01/24 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
2019/02/21 Python
OpenCV图像颜色反转算法详解
2019/05/13 Python
python如何制作英文字典
2019/06/25 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
基于python监控程序是否关闭
2020/01/14 Python
python 实现超级玛丽游戏
2020/11/25 Python
Python制作运行进度条的实现效果(代码运行不无聊)
2021/02/24 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
Coltorti Boutique官网:来自意大利的设计师品牌买手店
2018/11/09 全球购物
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
大学毕业通用个人的求职信
2013/12/08 职场文书
新兵入伍心得体会
2014/09/04 职场文书
婚宴主持词
2015/06/30 职场文书
《语言的突破》读后感3篇
2019/12/12 职场文书
win11无线投屏在哪设置? win11无线投屏功能的使用方法
2022/04/08 数码科技