随着Internet的发展,越来越多的Web站点成为企业的门户。Web为信息的供需双方在世界范围内发布、获取信息和资源共享提供了方便快捷的途径。然而在电子商务的开发与应用中,更多的是对企业网站的交互功能提出要求。因而近几年来,Web技术向着基于数据库的交互式应用发展。在实施电子商务的企业里,交互式Web应用程序以各种方式得以运用。Intranet——提供在企业范围内获取信息的应用程序;Extranet——企业与客户和供应商进行交易的应用程序;Internet——在企业网站上运行的交互式应用程序,例如商品定购的电子商务系统。
不仅是电子商务企业基于Web的解决方案,几乎所有类型的Web应用程序都变得日益复杂:为终端用户提供交互功能、与其它应用程序集成、获取动态数据库和现场数据资源等等。因此,无论是运行在Intranet、Extranet还是Internet上的企业Web站点,都需要日益成熟的功能,例如实时更新、数据库的信息整合、迅速响应、安全和内容管理等。一种新的Web脚本语言——PHP(PHP:HypertextPreprocessor)使这些功能得以实现,为动态Web解决方案的快速开发提供了一种新的Web应用基础设施,而且在企业领域里实现了迅速普及。
1PHP的技术性能与特点
PHP自出现以来,就得到了广泛的应用和迅速的发展。根据Netcraft的权威调查,截至2002年5月,PHP技术已被用于1188121个IP地址。36%的Apache Web服务器(WEB上最常用的服务器)上都使用了PHP, PHP的最新版本——PHP4在其发表的头两个月就被下载265000次。这些统计数字说明, PHP已经成为世界上最受欢迎的脚本语言之一。
由于PHP是专门为Web环境设计的服务器端嵌入式脚本语言,就其技术本身而言,具有其它Web开发技术不可比拟的优点。
(1)理想的动态网站开发工具。在交互式网站迅速取代静态HTML网站的今天,不少网站包含了成百乃至上千的网页,要网络管理员保证这么多相互分离的网页时时更新是不可能的。于是如今许多网站采用以HTML或XML网页展示信息,而以数据库存储数据的管理方式。这样,只要在数据库里更新一次信息,就可以将变化反映在使用这条信息的每一个网页上。PHP能很容易的做到这一点:只要将PHP脚本嵌入HTML,数据就会出现在网页中恰当的地方。
(2)专为网络环境设计。很多网站建设工具最初是为一些其它目的设计的。例如, Java是面向客户端而不是服务器端的应用小程序; Perl编程语言被设计为系统管理工具,后来勉强用作网络开发语言,结果出现了如存储漏洞(memory leaks)这样的结构问题。而PHP是专为网络环境设计的,这意味着它有很多内建函数使得网络编程非常简单,程序员可以集中精力研究编程逻辑而不再浪费宝贵的开发时间了。
(3)跨多个平台。目前PHP可在Windows、Unix、Linux的Web服务器上正常运行,支持IIS,Apache等通用Web服务器,用户更换平台时,无需变换PHP代码,可即拿即用。
(4)极其强大的数据库支持。PHP最强大也最有代表性的特点在于它的数据库层,它内置了对很多数据库的支持,而不再需要特殊扩充,使得编写基于数据库的网页变得非常简单。目前所支持的数据库有Oracle、Adabas D、Sybase、FilePro、MSSQL、Velocis、MySQL、Informix、Solid、dBase、ODBC、Unix dbm、Postgre SQL、MSSQL SERVER等。针对每个数据库都有一组函数用于数据库访问和操作,如对d Base数据库有dbase-create、dbase-open、dbase-close、dbase-pack、dbase-add-record、dbase - delete - record、dbase - get -record、dbase-numfields、dbase-numrecords等函数,对MySQL有mysql-close、mysql-connect、mysql-create-db、mysql-data
-seek、mysql-dbname、mysql-db-query等函数。
(5)多种扩展功能模块。由于有了PHP源代码库,可以很容易地与一些特殊库连接。其中有适用于PDF文件、Flash动画、电子货币、日历、XML、IMAP、POP等等的模块。即使某些功能PHP不支持,也可以很容易地编写或下载一个扩展功能的模块。
(6)开放源代码。所有的PHP源代码都是公开的,这意味着不必等待软件生产商去修复软件中的错误,也不必每年花钱去更新版本。
当然, PHP也存在一些缺点,比如缺乏规模支持和多层结构支持,所提供的数据库接口支持不统一,这使得它不适合应用于大型电子商务站点,而更适合一些中小型的商业站点。
2基于PHP的动态Web数据库应用系统的工作原理
在动态交互式Web数据库应用系统中, PHP语言在Web服务器端运行,这种技术在开发互联网应用程序时非常有用,将它和客户端脚本技术联合起来可以制作出功能极其强大的动态网页。其工作原理是:创建一个PHP应用程序,实际上相当于创建了一个PHP脚本文件。在服务器将输出信息发送到客户端之前,Web服务器会率先将文件中的PHP语言进行加工处理。如果服务器不支持PHP,通常情况下, Web服务器会直接将超文本文件送到客户的浏览器上以表示对HTTP的要求做出应答;如果服务器支持PHP,则服务器在对PHP文件的请求作出响应时,会先在一个PHP文件内将标准的HTML编码直接送到浏览器上,而内嵌PHP程序则由Web服务器解释执行。
基于PHP的动态交互式Web数据库是一种典型的B/W/D (浏览器/Web服务器/数据库服务器)三层结构。BWD模式以Web为中心,采用TCP/IP技术,以HTTP作为传输协议,客户端通过浏览器访问Web及其所连接的数据库系统。Web浏览器与Web服务器之间的关系就类似于主机/终端结构中两者之间的关系, Web服务器与数据库服务器之间的关系就像客户机/服务器结构中两者之间的关系。
应用这种结构的电子商务网站具有以下优点:①在客户端提供统一而友好的浏览器界面,操作简便,利于推广。②由于用户使用的程序都统一集中在Web服务器上,因此对软件的维护和升级十分方便,从而缩小了软件的开发成本,减轻了员工的工作量。③应用Web技术,适于网上信息发布,拓展了传统数据库的功能。④在B/W/D三层结构中,数据及其应用与平台无关,伸缩性大、易用性好,而且易于维护、信息共享度高、扩展性好、安全可靠。
3 PHP在电子商务网站建设中的应用及实例
3.1 PHP应用于电子商务网站的优势
PHP能在电子商务领域得以迅速推广,其决定因素在于:基于服务器的应用程序的广泛应用,迅速取代了传统基于客户端的应用程序;市场更需要直观的、跨平台的、易用的脚本语言;商业团体也逐渐认识到在公开源程序平台上能够免费、稳定、快速地开发出高质量的软件。
PHP在电子商务应用方面的优势主要表现在“5S”。
(1)速度(Speed)。PHP采用HTML内置标记技术,解释程序本身作为Web服务器的一个模块运行,相当大地提高了运行时的解析速度。经ZiffDavis’eWeek的测试表明,在Web站点访问量非常大时, PHP的解析速度相当于JSP程序的3.5倍!而且这次评测并没有使用Zend Cache,否则PHP应用程序的表现还会更快。PHP不仅程序执行速度快,而且不会影响系统其它方面的速度,占用的系统资源也很少,因此非常适合商务站点的应用。
(2)稳定(Stability)。任何应用程序都难免会有些小漏洞(bug),但是PHP开发人员和用户的合作使得bug一旦被发现就能很快得到解决。PHP有其专用的资源管理系统,以及成熟的处理变量的方法,从而能成为一个强有力的系统。
(3)安全(Security)。交易安全是商务活动正常运行的重要保障,安全系统应能保证抵挡网上用户的恶意攻击。PHP程序虽然是文本格式,但客户端只能看见解释后的结果,因此对客户端是保密的。PHP还提供了各种安全级别,可以在.ini文件中设置需要的级别。
(4)简单(Simplicity)。PHP非常简单直观,即使不是程序员,也能很快学会并编出可用的程序代码,而有C、Java、Perl编程经验的开发人员更可快速掌握、投入实际使用。由此可以为企业节省大笔用于培训及招聘专业人员的费用。越来越多的Web应用程序开发人员转向使用PHP,确实证明了它的高效性和易用性。
(5)服务(Service)。Zend Technologies是PHP技术公认的领导者,它能及时对企业的需要做出反应,不断扩展PHP的应用领域,其增值产品、服务和技术支持吸引了众多高级企业用户、电子商务和独立软件商。Zend为产品提供的服务包括:智力资本保护、产量和性能提升、优质特色服务、附加功能和专业支持。
3.2 PHP应用于电子商务网站建设的实例分析
基于PHP的电子商务网站基础建设可以遵循以下步骤:
(1)选择开发环境。这里选用Apache1.3.9做为Web服务器,MySQL3.22.20为后台数据库服务器, PHP4 RC1为PHP程序解释器,开发一个电子商务系统。这种组合投资小、性能强大稳定、维护花费少,对于中小型网站无疑是一个理想的选择。
(2)创建产品目录。电子商务系统应具备三个基本功能:展示产品目录,顾客浏览产品目录,顾客从产品目录中购买物品。交易达成的过程可以简单描述为
:①顾客访问该网站并寻找产品目录。②服务器从数据库中读取数据并生成产品目录。③顾客浏览目录并将合适的物品加入他的购物清单。④服务器根据顾客行为更新他的购物清单。⑤顾客完成采购准备结账。⑥服务器计算价格生成账单。⑦顾客核对账单并提供合法的信用卡账号。⑧服务器验证信用卡。⑨验证结果返回服务器。10如果一切顺利,顾客的交易记录存入数据库,顾客得到商品。
编程实现步骤如下:第一步,创建数据库、用户账户及密码。第二步,创建产品目录。为了更方便的管理数据库的目录,以树形结构进行组织,即只有一个根目录,其余皆为子目录。数据库的实体有如下关系:目录实体本身是一对多的关系,产品实体与目录实体是多对多的关系。基于这样的定义,需要创建三个表:①类目表用来存放所有目录名,以及指示目录所在位置。②产品表用来存放产品信息,如产品名称、描述和价格。③连接表用来存放产品和目录之间的关系。第三步,往表中添加数据。第四步,目录维护,编写用来添加、修改、删除目录或产品的PHP脚本程序。
(3)运用Session管理用户。由于向Web服务器提出的每个请求(request)之间是相互独立的,所以Web服务器不能判断出请求和响应是否来自同一个人,它所做的只是等待请求和发送响应。这时,为了区分不同人的行为,就需要进行会话(session)管理,将由同一个人提出的所有请求归入同一个session中。
PHP4就具有会话管理功能,它能将来自同一个地方(如客户的浏览器)的请求分进同一个会话组中,接下来只需将各个会话组与各用户对应起来。
PHP4的会话管理函数中有两个比较重要:session start ()和session register ()。sessionstart()用来启动PHP4会话管理功能,而sessionregister ()用来指明会话中的跟踪变量。
登录 | 立即注册