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 防止单引号,双引号在接受页面转义
Jul 10 PHP
The specified CGI application misbehaved by not returning a complete set of HTTP headers
Mar 31 PHP
php mb_substr()函数截取中文字符串应用示例
Jul 29 PHP
个人写的PHP验证码生成类分享
Aug 21 PHP
destoon文章模块调用企业会员资料的方法
Aug 22 PHP
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
Jan 22 PHP
Ubuntu下安装PHP的mongodb扩展操作命令
Jul 04 PHP
php制作简单模版引擎
Apr 07 PHP
php实现文件管理与基础功能操作
Mar 21 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 PHP
PHP注释语法规范与命名规范详解篇
Jan 21 PHP
php实现分页功能的详细实例方法
Sep 29 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数组中的重复值的实现代码
2011/07/17 PHP
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
2013/06/05 PHP
解析php中static,const与define的使用区别
2013/06/18 PHP
curl实现站外采集的方法和技巧
2014/01/31 PHP
php实现refresh刷新页面批量导入数据的方法
2014/12/23 PHP
PHP中imagick函数的中文解释
2015/01/21 PHP
php数组去除空值函数分享
2015/02/02 PHP
PHP数学运算函数大汇总(经典值得收藏)
2016/04/01 PHP
Document对象内容集合(比较全)
2010/09/06 Javascript
下拉菜单点击实现连接跳转功能的js代码
2013/05/19 Javascript
jQuery 无限级菜单的简单实例
2014/02/21 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
Ionic如何创建APP项目
2016/06/03 Javascript
node.js实现登录注册页面
2017/04/08 Javascript
nuxt+axios实现打包后动态修改请求地址的方法
2020/04/22 Javascript
jQuery实现开关灯效果
2020/08/02 jQuery
[02:42]2014DOTA2国际邀请赛 三冰专访:我会打到Ti20
2014/07/13 DOTA
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
2017/07/27 Python
python Matplotlib画图之调整字体大小的示例
2017/11/20 Python
python实现126邮箱发送邮件
2020/05/20 Python
python3.7添加dlib模块的方法
2020/07/01 Python
python单元测试框架pytest的使用示例
2020/10/07 Python
python中判断数字是否为质数的实例讲解
2020/12/06 Python
Weblogic和WebSphere不同特点
2012/05/09 面试题
医学生自我鉴定范文
2013/11/08 职场文书
纪念建党演讲稿范文
2014/01/13 职场文书
安全生产演讲稿
2014/05/09 职场文书
班训口号大全
2014/06/18 职场文书
群众路线剖析材料范文
2014/10/09 职场文书
2014年保育员个人工作总结
2014/12/02 职场文书
食堂采购员岗位职责
2015/04/03 职场文书
2015年公司保安年终工作总结
2015/05/14 职场文书
导游词之秦皇岛燕塞湖
2020/01/03 职场文书
Flutter Navigator 实现路由传递参数
2022/04/22 Java/Android
WIN10使用IIS部署ftp服务器详细教程
2022/08/05 Servers
JavaScript实现音乐播放器
2022/08/14 Javascript