选择显示字体大小

用php4 和 postgresql 构建一个电子商务应用

本文通过一个简单的web 应用,演示了 php 和 postgressql 在电子商务中的应用。

不久以前,如果要架构一个严肃的web应用的话,意味着购买价格不菲的cold fusion 许可,以及一个商业的数据库服务程序像sybase 加上 sun 服务器。幸运的是,这样的日子一去不复返了。随着日渐成熟的免费数据库市场以及apache 使用者的大量增长,一些替代产品已经具有相当,甚至超过了这些专有软件的能力。

比较好的开放源码软件的一种是 php,一个很像perl 的脚本语言,以及postgresql,一个很强大的面向对象的数据库。如果把两者结合起来的话,你可以设计从简单的留言簿到一个巨大的基于web 的财务软件。php 提供大脑而 postgres 提供发达的肌肉。

下面介绍一个很基本的 php 购物车和库存应用,充分利用 postgres 的事务功能。源码推渌柿峡梢源?phpbuilder.com 下载。

首先要提到的是应用程序的结构,在我的php web 应用中,我总是首先设置一个综合库,网站的每一个页面都会用到它,取名叫common.php 存放在include 目录。

这个库会处理日常任务,例如数据库连接,用户鉴别,站点的头部/尾部文件等。把这些函数放在一个地方,我们的应用看上去很干净,容易维护。

表一:示范的库代码

common.php:

php

//连接 postgres 数据库
$conn=pg_pconnect("user=tim dbname=db_example");

//看连接是否成功
if (!$conn) {
//如果失败则报告出错
echo pg_errormessage($conn);
exit;
}

//站点的头文件

function site_header ($title) {
return '



';
}

// 页面结尾的 html 代码

function site_footer () {

return '';

}

//一个简单的查询执行函数,用来减少代码

function query($sql) {
global $conn;
return pg_exec($conn,$sql);
}

//让每一个页面自动启动session或者保存 session 状态

session_start();

?>


因此,我们的第一个版本的库已经可以用了,它连接数据库,提供了简单的 html
代码。

我们站点上每一个页面都包括:

php

require ($document_root.'/include/common.php');

echo site_header('示范页面');

/*
页面逻辑处理
*/

echo site_footer();

?>

一般说来,在构建应用程序时,把逻辑和实际的表示(在我们这里就是html)分开是很明智的。因此,我把逻辑放到函数里面。但是php 使用函数调用的方法,缺点是没有标准的出错处理过程,如果函数内部有错的话,呼叫函数的程序不能把把错误信息传递给用户。在其他的语言,例如java 里面,你可以使用 try/catch语句来处理。

我的解决办法是,每个函数总是返回 true 或者 false ,设置一个$feedback全局变量,这样的话,结果就可以测试。现在有一个叫做pear (http://pear.php.net/) 的项目在做标准化错误处理以及数据库存取的努力,


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons