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连接Oracle for NT 远程数据库
Oct 09 PHP
不用数据库的多用户文件自由上传投票系统(3)
Oct 09 PHP
php模块memcache和memcached区别分析
Jun 14 PHP
解析PHP工厂模式的好处
Jun 18 PHP
php中的Base62类(适用于数值转字符串)
Aug 12 PHP
php自动识别文件编码并转换为UTF-8的方法
Jun 12 PHP
php基于双向循环队列实现历史记录的前进后退等功能
Aug 08 PHP
php验证码生成器
May 24 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
May 31 PHP
Django中通过定时任务触发页面静态化的处理方式
Aug 29 PHP
安装docker和docker-compose实例详解
Jul 30 PHP
一文搞懂php的垃圾回收机制
Jun 18 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
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
PHP 页面编码声明方法详解(header或meta)
2010/03/12 PHP
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
2014/05/07 PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
2014/05/15 PHP
从wamp到xampp的升级之路
2015/04/08 PHP
JavaScript实现滚动栏效果的方法
2015/04/27 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
php中字符串和整数比较的操作方法
2019/06/06 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
2019/08/03 PHP
基于PHP+mysql实现新闻发布系统的开发
2020/08/06 PHP
ext实现完整的登录代码
2008/08/08 Javascript
jquery1.4后 jqDrag 拖动 不可用
2010/02/06 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
2012/03/15 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
js定时器(执行一次、重复执行)
2014/03/07 Javascript
nodejs URL模块操作URL相关方法介绍
2015/03/03 NodeJs
使用Promise解决多层异步调用的简单学习心得
2016/05/17 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
Vue AST源码解析第一篇
2017/07/19 Javascript
详解vue 实例方法和数据
2017/10/23 Javascript
解决layui下拉框监听问题(监听不到值的变化)
2019/09/28 Javascript
vue仿淘宝滑动验证码功能(样式模仿)
2019/12/10 Javascript
分享一个常用的Python模拟登陆类
2015/03/29 Python
python保存字符串到文件的方法
2015/07/01 Python
Python实现telnet服务器的方法
2015/07/10 Python
Python实现注册、登录小程序功能
2018/09/21 Python
python中将zip压缩包转为gz.tar的方法
2018/10/18 Python
PyQt5通信机制 信号与槽详解
2019/08/07 Python
Pycharm中Python环境配置常见问题解析
2020/01/16 Python
vscode配置anaconda3的方法步骤
2020/08/08 Python
将世界上最美丽的摄影作品转化为艺术作品:Photos.com
2017/11/28 全球购物
销售辞职报告范文
2014/01/12 职场文书
副科级后备干部考察材料
2014/05/15 职场文书
诚信教育主题班会
2015/08/13 职场文书
暑假开始了,你的暑假学习计划写好了吗?
2019/07/04 职场文书
tomcat正常启动但网页却无法访问的几种解决方法
2022/05/06 Servers