2000 年初的时候,ASP 还是 Web 开发的主流,当时我刚刚在 Windows98 下通过电话线加内置猫上网。那时网上突然看到大家都在风传一种新的 Web 开发语言 - PHP。那时的 PHP 还是 3.0 版本,可以和 mySQL 数据库配合使用(那时的 muySQL 也是一只丑陋的小鸭子)。安装和配置倒也容易,根据网上搜索到的“教程”可以很快完成,可以很方便的对表进行增、删、改的基本操作。但是对于当时生命力旺盛又不用配置运行环境的 ASP 来说,PHP 很容易被人看做一个 Web 开发的小玩具、小插曲。
之后多年,PHP的发展一直处在不温不火的状态。说它好的人认为:它安全,效率高,小巧优雅,支持的函数多等等。说它不好的人认为:它支持厂家少、学习资料少、开发的网站少等等。但都是随便说说,到底有多大可信度,无据可考。
本人虽然接触PHP比较早,但是截至两年前,一直没用PHP正式做过什么应用,原因很多:
1,ASP我用的早,熟悉并且有大量的代码和资料积累。如果再进入PHP阵营,势必会有重复开发,造成浪费。
2,本人供职的单位,所有的应用都是ASP开发的,没有PHP的应用需求。如果贸然转PHP开发,会引入2种语言集成的问题,使问题复杂化。
3,本人供职的单位,所有的操作系统都是Windows系列的,不存在跨OS平台的问题,没有使用PHP(包括JSP)的必要。
4,PHP的开发厂家是家小公司,担心其倒闭造成PHP无后续支持,并且造成资料和开发人员短缺。
5,PHP的流行程度和前途不明朗,担心造成当时的学习投入浪费。如果ASP淘汰,学JSP比学PHP更有前途保障。
6,PHP没有著名大型项目开发案例,只适合开发中小型网站系统。而JSP可以开发网站,配合Oracle数据库和JAVA中间件,可以构建大型企业应用,可以保护学习成本。
7,PHP是一门主要面向过程的语言,4.0版本以前对类的支持不完善,开发大型、复杂应用不理想。
8,当时提供PHP空间的虚拟主机商比较少。
9,PHP的变量前边需要加个$是我本人特别反感的(就像Delphi的程序块非要用Begin…End包起来一样,我喜欢Delphi,但反感这个拙劣的程序块语法,我更喜欢 C 语言的{……},简洁而又方便)。
但是,后来情形有所变化,PHP的发展出现了拐点。
1,一个是国内的Discuz!论坛迅速普及,要开论坛系统,需要选择PHP环境。后来的DeDeCMS、X-spaces等,更把PHP应用推向深入。
2,再一个是,PHP本身发展迅速,还推出了5.0版本,对类的支持趋于完善。还风传PHP得到了微软的支持,会在WindowsServer8.0的IIS7.0里自动支持PHP运行环境。
3,可能是由于PHP使用的人比较少,网络针对其攻击比较少,显得比较安全。
4,PHP针对Web开发,包括mySQL数据库操作,提供了大量现成的函数,使开发工作大大简化。
5,由于ASP天长日久,使用的人越来越多,就像当年淘汰VB一样,需要一种新鲜的语言来代替它。在从ASP向ASP.NET的迁移过程中,许多人选择了比C#简单和易用的PHP语言。
6,由于ASP语言被人玩“滥”了,出于势利和商业原因考虑,需要一种更“专业”和“阳春白雪”的语言来代替它,PHP正好扮演了这个角色。试想一下,一家公司老总给客户介绍说,自己的技术团队多么优秀,但是还在用老掉牙的ASP做开发,该是多么的泄气!(其实ASP本身无疑仍是优秀的,但是傲慢和偏见已经笼罩到ASP头上了,谁之过?)
我并不想让大家包括我自己,经常处于无限的、无奈的知识淘汰和更新中,但是当大家一致要求学习PHP,当用人单位不再招收ASP程序员而是PHP程序员的时候,开设PHP课程就成为一种必然的趋势了。我不得不放下我熟悉的Basic语法,转而经常忍受那门变量前带$的语言了。
其实当我已经比较习惯在变量前加$的时候,我发现PHP语言其实还是很优秀的!尽管它吸收了包括C语言在内的许多语言的语法特点,还带着过多的面向过程编程的特点,多少有点大杂烩甚至不伦不类的味道;尽管书店里还没有PHP语言的专柜,我需要在各家出版社的分类里仔细寻觅它的踪迹,但是我发现它对Web编程提供了大量的、友好的、人性化的支持,它的开发团队一定是个Web开发的天才团队,他们知道Web程序员最需要什么,在哪里需要。
不管是Windows用户还是Unix/Linux用户,由于PHP能和IIS、Apache集成在一起,所以PHP开发的应用,可以只开发一次就可以跨平台运行,不用过多考虑空间提供商的运行环境。这点比起ASP来是个现实而又真实的优点。
当然PHP现在还不能说已经或即将代替ASP的地位,因为Python和RoR(Ruby on Rails)这些完全面向对象的脚本语言正在飞速增长,结果很难预料。但是PHP起码在目前看来,其前景还是比较看好的。这世界没用永远开不败的花朵,就像当年如日中天的Fortran、Cobel、Borlabd C++、PB、Delphi等语言一样,有一天PHP也会老去,那又是将来的一段回忆和佳话。但是今天,我们与PHP同行。
张庆(网眼)
电脑学习网http:www.why100000.com
2008-2-18
分享到:
相关推荐
所以为了让大家更有信心的转移到PHP 5平台上,我特别做了这个测试,看看我们PHP 4.x 是否真的性能比我们的PHP 5.x要好捏,测试结果很明显,那就是PHP 5.x 比php 4.x不论是面向对象还是面向过程,都要比PHP 4.x 要快...
php:连表查询一对一和关联模型一对一,php:连表查询一对一和关联模型一对一php:连表查询一对一和关联模型一对一php:连表查询一对一和关联模型一对一php:连表查询一对一和关联模型一对一php:连表查询一对一和...
今天查看代码时,忽然想到一个问题:php://output和php://stdout有什么区别? 从PHP的官方文献中找答案,对输入流php://stdin和php://input的解释分别如下(输出流的解释过于简略): php://stdin php://stdin, ...
PHP书籍包括高性能PHP应用开发.pdf、Modern PHP中文版.pdf、PHP:面向对象、模式与实践(第三版).pdf及源码。
###如何使用它只需调用 captcha.php 文件并传递所需的类型和/或预定义的验证码文本。 captcha.php?s=123456 输出: 123456 captcha.php?c=1&s=foobar 输出: FOOBAR captcha.php?c=2&s=foobar 输出: A 6 digits...
PHP100视频教程91:PHP修改和删除XML内容的原理和方法 PHP100视频教程92:在线支付接口之PHP支付宝接口开发 PHP100视频教程93:在线支付接口之PHP云网接口开发 PHP100视频教程94:SVN (Subversion) 配置与安装...
tomcat运行php项目必须的jar包:JavaBridge.jar、php-servlet.jar和php-script.jar 将下载好的JavaBridge.jar、php-servlet.jar和php-script.jar复制到tomcat的lib目录下; 并且完成配置, 教程链接:...
《深入PHP:面向对象、模式与实践(第3版)》全书源码,有利于深入学习PHP,快速掌握PHP高级技术
PHP图书管理系统源码(毕业设计),软件架构说明 PHP+MySQL+layui php版本:7.3.4 MySQL版本:5.7.26PHP图书管理系统源码(毕业设计),软件架构说明 PHP+MySQL+layui php版本:7.3.4 MySQL版本:5.7.26PHP图书管理...
PHP客户关系CRM管理系统源码 企业crm管理系统PHP源码下载 系统功能 1、 公海管理:公海类型、客户公海。 2、 线索管理:我的线索、线索列表、线索状态、线索来源。 3、 客户管理:我的客户、客户列表、成交客户...
1 PHP和现代软件开发 (PHP and modern software development) 2 PHP的对象 (Objects in PHP) 3 有效的使用PHP的类 (Using PHP classes effectively) 4 了解对象和类 (Understanding objects and classes) 5 了解类...
phpstudy8.1安装php8.0.14nts和php8.1.1nts的方法 phpstudy 8.1是个很好用的PHP集成环境软件,可惜官方一年多没更新了,官方只支持到PHP7.4,因为近期项目需要用到PHP8.1,所以自己动手配置了,考虑到很多网友可能...
前段时间学习PHP 下了个PHP和MySQL Web开发(原书第4版)高清版,有将近200M,PDF文档不过没有书签,花了一天的时间将书签添加上去了,精确到了三级目录。 我没有权限上传200M的文件,所以放到百度空间了,下载后是...
没发现 COM 类,php代码主要是调用一些系统的信息,初想应该是php没配置好,在stackoverflow找到答案,是讨论xampp的,要延伸开来,我加了几个要点: ★ php 根目录的 ext 文件夹下确保存有 php_com_dotnet.dll 这个...
项目描述 编写一个商铺充值系统,修改后可以直接使用,适合任何商铺,主要分为两大类:管理员和店长 管理员: 权限管理 用户管理 店员管理 消费管理 充值管理 优惠管理 换货管理 ...database.php:
2.安装phpstudy或UPUPW(任选其一),推荐upupw - PHP版本支持PHP5.2-5.6,推荐upupw5.2-5.4; 3.恢复MYSQL数据库备份目录内网站数据,具体操作见目录内数据恢复说明; 4.配置MYSQL数据库连接路径: WEB...
Plug-In PHP: 100 Power Solutions:Simple Solutions to Practical PHP Problems
在阿里云上的语音识别竟然没有PHP的SDK,而通过他们官方的所谓PHP的openSDK根本也没办法使用,于是,我基于他们的JAVA SDK改写成了PHP SDK,绝对可用!! 里面有些类是挪用了阿里云的官方php OpenSDK中core的代码 ...
PHP创始人Rasmus Lerdorf:我不喜欢编程.pdf
深入PHP:面向对象、模式与实践(第三版)高清PDF和完整源码