首页 > 开发 > PHP > 正文

关于PHP的前途(二)

2024-05-04 22:57:14
字体:
来源:转载
供稿:网友
3.2在windows 95/98/nt/2000上快速安装apache web服务器(10秒钟)

在windows上运行php,你需要一个web服务器,你可以使用微软的iis,也可以使用免费的apache 。因为可以通过apache的安装文件setup.exe进行安装,可以为你节省许多时间。

phpttriad是一个包括apache、php、mysql的软件包,可从http://www.phpgeek.com/phptriad.php 或其镜像站点http://sourceforge.net/projects/phptriad下载。我强烈推荐使用phpttriad,它在windows用户中极受欢迎(已被下载了几百万次)。

apache 二进制程序: http://httpd.apache.org/dist/httpd/binaries/win32


3.3 微软的sql服务器

sql服务器可以安装在不需要运行windows的机器上,而你也需要一个sql服务器来作。我推荐你在很老的pc上(如pentium或486)安装redhat linux和postgresql rpms。你数据库并不需要任何windows图形界面,可以在控制台直接启动postgresql。postgresql的速度大概是oracle和ms sql server的3倍。

php的postgresql支持库是由adam sussman编写的,他的邮件地址是:[email protected]
支持windows nt/2000的postgresql可从http://www.askesis.nl下载。可从http://www.geocities.com/alavoor/howto/pgsql/postgresql-howto.html获取postgresql的使用指南 。

3.4 php在unix和其它操作系统上的安装

参见php主站点www.php.net上的安装指南和说明,或所下载的软件包中的install文件。

4.快速进阶

用php的面向对象机制实现一个项目的步骤如下:

·首先,你需要连接一个数据库sql服务器——有下面两个选择:
adodb (active data objects data base),即动态数据对象数据库(http://php.weblogs.com/adodb)

metabase(database independent access and management),即数据库独立访问和管理(

http://phpclasses.upperdesign.com/browse.htm/package/20)

·第二,你需要一些通用的php类来创建表单、表格和其它html对象。这些都可以从php classes网站上获取(http://phpclasses.upperdesign.com)。可以参考一下该网站的下载排行榜。也可以从网站http://www.milkywaygalaxy.freeservers.com/上获取表单类、模板类等。

·第三,通过对这些通用类的继承,来设计和创建自己的php类。

·第四,使用模板类来分离显示样式和业务逻辑,可参见http://www.phpclasses.com
·第五,使用ide工具进行开发(参见php ide一节)。
·最后,最好把你代码封装成类,这样可以实现代码的易维护性和可重用性。

5.php的主要特性

·支持标准cgi,fastcgi和apache模块——作为一个标准的cgi程序,php可以安装在运行任何web服务器的任何unix机器上。 php支持新的fastcgi标准,通过这一机制,php获得了速度上的提高。 当配置成apache模块时,php便成了功能极为强大的,运行速度如闪电般快的新的选择。

·访问日志——通过php的日志访问功能,用户可以维护他们的点击次数和日志。 该功能提供了实时的访问监测,而不以任何方式使用系统的中心访问日志文件。日志浏览脚本为个人用户拥有的一组页面提供快速的访问摘要。除此之外,该程序包还可以通过配置为每一个页面生成一个页脚(footer)来显示访问信息。可参考文章后面的例子。

·访问控制——个内建的基于web的配置“筛”,可实现对访问控制的配置。这样,才有可能为所有或部分web页面创建一套规则,使得拥有这些页面的特定的人可以对他的网页设置各种限制,如,什么人可以访问这些页面以及这些页面以怎样的一种方式被访问。对页面的设置有许多方式,如密码保护、完全限制、登录失效、或者更多的以客户的域、浏览器、e-mail地址甚至涉及的其它文档为设置依据。

·支持postgressql——postgressql是一个先进但是免费的rdbms(关系数据库管理系统)。php支持在.html文件中直接嵌入postgressql的“sql 查询语句”。

·支持rfc-1867文件上传——文件上传是netscape2.0新增的一项功能。用户可以将文件上传到web服务器。

php提供了实际的mime解码功能,使得文件上传成为可能。php还提供额外的框架,可对收到的上传文件进行一些有用的处理。

·基于http的身份验证控制——php可以用来为apache服务器创建自定义的基于http的身份验证机制。

·变量、数组,联合数组(associative arrays)——php支持typed(这个单词不知道怎么译,望高手指点)变量,数组,甚至perl风格的联合数组。而这些都可以通过get或post方法的表单从一个页面传递到另一个页面。

·条件语句、while循环——php是一种类似c语言的功能完整的脚本语言。你可以使用if/then/elseif/else/endif条件语句,以及while循环和switch/case语句来安排html页面显示的逻辑流程。

·扩展的正规表达式——正规表达式频繁地应用于模式匹配、模式替换以及一般的字符串操作。php支持所有常用的正规表达式操作。

·原始的http header控制——根据某种条件,让web页面能够发送自定义的原始http头对一些高级的网站设计来说是非常必要的。一个常见的用法就是发送一个location:url头,把客户端的请求重定向到另外一个url上。也可以用来关闭缓存或操作页面最新更新的http头。

·动态创建gif图片——php已经支持thomas boutell的gd图片库,可以实现gif图片的动态创建。

·支持isp“安全模式”——php支持独特的“安全模式”,从而使得多个用户运行同一台服务器上的php脚本变得更加安全。

·新发布的php中又增加了许多新的功能。可访问php的主站点http://www.php.net。
·php是免费的!——这是最后一个重要特色。php的程序包是完全免费的。它遵守gnu/gpl。你可以把这个软件用于实现商业或者其它任何目的。


5.1 php相对于java的优势

php是一种已经确定下来的,用于创建动态网页的服务器端的脚本语言。作为一种为web而特别设计的语言,php带来了许多商业机构渴望的特性。

·极短学习周期
·快速的开发时间
·非常高的性能

这对于缺乏熟练编程人员,时间又非常紧迫的公司来讲,具有非常重要的意义。php可以在所有主要的操作平台(unix,windows,甚至是大型机)上运行,而且生来就支持各种流行的数据库。所有这一切决定它是一种进行的非常理想的选择:曾有运用php技术的网上商店称,他们只需雇佣业余的程序员,几天内就能够开发出可重用的代码。那些熟悉诸如c,c++或java等语言的程序员们,也总是发现他们能够在几个小时之内就能够进行php编程。

php是针对而设计的,这一事实使它成为一种独具特色的开发工具,就象intranet design杂志评价的那样:

“php是构建在人员现实需求之上的....不同于其它笨重的,高负荷的方法,php非常轻便,是为度身定做的。它可以比其它同类技术更快,更容易的解决复杂的问题。”

java作为一种新的编程语言,最初用于运行嵌在浏览器中的客户端应用程序。在过去短短几年中,“applet”所暴露的问题迫使sun和其它java开发人员为该语言寻找新的出路。其中最为突出的就是服务器端编程,它允许web站点连接数据库并产生其它服务器端的应用程序,即“servlets”。sun最终推出了java server pages(jsp)作为编写servlets的手段。与php一样,jsp在不同平台间也具有高可移植性(尽管php支持任何32位以及32位以上的平台,而jsp只能在安装了java虚拟机的平台上运行)。 然后,一个没有编程背景的新手会发现,使用servlets编程是一件极为困难的事,原因在于该语言的复杂性以及jsp系统复杂的设计方式。

jsp的性能也存在许多待改进的地方:zdnet的在线刊物eweek最近的一项调查发现,php的运行速度差不多是jsp的3.7倍。可以说,jsp是web环境中非常差的一种解决方案,这是因为它每秒钟只能处理很少的事务,而且响应速度相当的慢。

zdnet的eweek杂志还提到:
“jsp是一项相对较新的技术,从开发工具、资源、人才方面来看,还未具有完全的市场成熟度。”......由于jsp是基于java的,而java由是一种强类型的语言,所以我们不得不声明变量的类型,并在需要的地方手工转换类型。这使得jsp成为业余程序员最难于学习的一种脚本语言。

php与java协同工作

jsp仅仅是一种能够访问java对象的语言罢了,认识到这一点很重要。而php也可以整合java,这意味着,php可以象jsp一样,成为一种能够调用java逻辑的脚本语言。但与jsp不同的是,php还可以调用其它组件模型,如microsoft的com,而且增加对新的对象模型的支持也极为容易。可见,php的扩展能力是无穷的。而另一方面,jsp完全依赖于java。

ibm程序员sam ruby联合使用php和java。通过php对java的良好支持,使得java对象如同常规的php对象一样,透明地被创建和使用。

autionwatch网站使得各种规模的商业团体都可以从其动态竞价环境中获益。它每月的访问人数在二百六十万以上;已有三十多万个注册用户;每个月进行一百二十万次拍卖。 他们曾尝试使用java,但还是选择了php,就因为它更容易使用,开发速度更快。若想知道的更多,请联系ben margolin,他是auctionwatch网站销售服务部的主任([email protected])。

编程顾问reuven lerner曾在各种语言之间作过比较。他对php的看法概括如下:
“这是门容易学习的语言。美工和web设计师可能会说他们并非程序员,但事实上,他们在大型项目中,越来越多的使用了javascript,vbscript以及其它一些简单的编程语言。与perl相比,php更加正规和明确;对一个新手来说,php比java更容易掌握。确实,php有点象javascript(如果存在服务器端版本的话)。任何人,不管有无编程经验,都可以在很短的时间里学会并使用php。这一点也许vbscript可以做到,但perl和java肯定不行.....php绝对是一个非凡的,强大的系统。无怪乎能够成为创建web站点的流行语言.....我认为,php将成为java和jsp强有力的竞争对手,我会在某些客户和公司内部项目中极力推荐php。”

php:一直在前进

jsp有sun作为其后盾,因此不断获得媒体的关注。但有趣的是,尽管没有任何宣传攻势,php的流行度仍然以8-11%的速度在增长,远远大于服务器端应用程序4%的月增长率。有六百五十万个站点使用了php(参见netcraft 2001年5月的调查报告)。39%的apache服务器上配置了php;而perl占了11%的市场分额,名列第四。apache保持着59%的web服务器市场占有率;microsoft次之,仅28%(参见e-soft inc./securityspace 2001年5月的调查报告)。

使用php的著名公司有:unilever、philips、ntt、cisco、 japan airlines、 air canada、 lufthansa、ge marketplace、 wallstreet:online germany、 auctionwatch、 villagevoic、 dialpad以及bmc。

1.intranet design杂志:一个it经理对php的看法,2000年6月4日。
http://linuxtoday.com/news_story.php3?ltsn=2000-06-04-002-04-nw-hl-sw
2.eweek:四中脚本语言的速度开发,2000年10月30日。
http://www.zdnet.com/eweek/stories/general/0,11011,2646052,00.html,欢迎访问网页设计爱好者web开发。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表