PHPLIB和多个数据库
来源:网络收集 责任编辑:栏目编辑 发表时间:2013-07-01 22:15 点击:次
你可能有一个站点,有些页面要处理数据库。你可能想使用PHPLIB,但是不想为了适应它而改变现存的
数据库。这儿给出实现你的梦想的答案。PHPLIB和多个数据库。
实现它需要对PHPLIB进行扩充。本文解释了如何创建扩充。你会发现,这篇文章会帮助你在其它方面对
PHPLIB进行扩充。阅读完这篇文章后,思考一下PHPLIB可以完成你想要的98%的情况吧。
这篇文章所提及的PHPLIB的扩充的建议已经提交给了PHPLIB的开发组。因此,在未来的版本中,可能会
出现这些扩充。在你的网页中的其它的代码将帮助你组织你的数据库管理。
数据库管理
你可以将每一个表放在一个巨大的数据库中。然而,总有一天会刺伤你。对数据库进行管理将会使创伤
减小到最小。当你的数据库对一个服务器来说太大时会出现什么情况?当一个服务器不能处理IO吞吐量或者
没有足够的内存进行处理又会怎么样?将现有的数据库进行拆分很难,但是从分离的数据库开始则容易多了,
并且好的数据库管理会很有帮助。
如果你经营一家书店,你可能有作者列表,带有价格的书目列表,当前库存列表和订单列表。随着你的
业务的发展,订单列表会增加,并且每一个订单会占用很多的磁盘空间。一种可能性就是有一天你会将订单
直接放进财务系统。
现在开始将订单放在分离的数据库中。因为库存的数量是随着订单而变化的,所以将库存数据放在同一
个数据库中。
作者列表和书目列表为一些静态信息,它们会经常被读到,但是很少改变。实际上,唯一的改变可能就
是对于作者记录会每5年一次,这可能是当这个作者写了一本新书(或死亡了)。这些数据可能使用与订单数
据库完全不同的配置。
包含PHPLIB
PHPLIB通过一个名为DB_Sql的类来操作SQL数据库。在你的代码中包含适合你的数据库的版本。在这个
例子中,我使用MySQL版本。
为了在你的代码中得到DB_Sql,在PHPLIB要求的目录下安装PHPLIB文件。然后,找到你的cgi-bin目录,
然后在cgi-bin目录下创建phplib目录。接着,拷贝所有的PHPLIB中的.inc文件到phplib目录下。最后,将
phplib目录放在php.ini文件中include_path = 的那行上。
include_path是PHP引用在include()或require()中文件名的地方。在我的NT工作站上,包含路径是
include_path = ".;i:/project52/includes;i:/project52/phplib";
在Linux机器上,则为
include_path = ".;/home/httpd/includes;/home/httpd/phplib";
在每一个PHP页面的顶端为
<?php
require(common.php3);
?>
common.php3在包含目录中,包含对每一页都通用的所有的数据和函数。在common.php3中,为
<?php
require(db_mysql.inc);
require(ct_sql.inc);
require(session.inc);
require(auth.inc);
require(perm.inc);
require(user.inc);
require(page.inc);
?>
阅读PHPLIB文档(http://phplib.netuse.de),也可以在http://www.phpbuilder.com下查找一些好文
章,来了解你需要包括些什么。Db_mysql.inc包含了DB_Sql类的定义。如果你想将MySQL改换成PostGreSQL
数据库,将db_mysql.inc改成对db_pgsql.inc的包含。那里有10个.inc文件,涵盖了MS SQL,Oracle,Sybase
和其它一些数据库。
请注意,在这个例子中,require()和include()是完全一样的。Require()和include()工作方式不同,
当用在代码中间或在if()语句中时,结果是不一样的。
扩充PHPLIB
PHPLIB处理数据库是通过从DB_Sql类创建的一个对象实现的。Db_mysql.inc包含了DB_Sql类,为MySQL
进行了修改。我们将通过向common.php3添加代码来扩充DB_Sql,在包含db_mysql.inc的行的后面。
DB_Sql包含了很多进行查询的函数。我们想改变的一个是:
<?php
/* public: 连接管理 */
function connect($Database = "", $Host&nbs
数据库。这儿给出实现你的梦想的答案。PHPLIB和多个数据库。
实现它需要对PHPLIB进行扩充。本文解释了如何创建扩充。你会发现,这篇文章会帮助你在其它方面对
PHPLIB进行扩充。阅读完这篇文章后,思考一下PHPLIB可以完成你想要的98%的情况吧。
这篇文章所提及的PHPLIB的扩充的建议已经提交给了PHPLIB的开发组。因此,在未来的版本中,可能会
出现这些扩充。在你的网页中的其它的代码将帮助你组织你的数据库管理。
数据库管理
你可以将每一个表放在一个巨大的数据库中。然而,总有一天会刺伤你。对数据库进行管理将会使创伤
减小到最小。当你的数据库对一个服务器来说太大时会出现什么情况?当一个服务器不能处理IO吞吐量或者
没有足够的内存进行处理又会怎么样?将现有的数据库进行拆分很难,但是从分离的数据库开始则容易多了,
并且好的数据库管理会很有帮助。
如果你经营一家书店,你可能有作者列表,带有价格的书目列表,当前库存列表和订单列表。随着你的
业务的发展,订单列表会增加,并且每一个订单会占用很多的磁盘空间。一种可能性就是有一天你会将订单
直接放进财务系统。
现在开始将订单放在分离的数据库中。因为库存的数量是随着订单而变化的,所以将库存数据放在同一
个数据库中。
作者列表和书目列表为一些静态信息,它们会经常被读到,但是很少改变。实际上,唯一的改变可能就
是对于作者记录会每5年一次,这可能是当这个作者写了一本新书(或死亡了)。这些数据可能使用与订单数
据库完全不同的配置。
包含PHPLIB
PHPLIB通过一个名为DB_Sql的类来操作SQL数据库。在你的代码中包含适合你的数据库的版本。在这个
例子中,我使用MySQL版本。
为了在你的代码中得到DB_Sql,在PHPLIB要求的目录下安装PHPLIB文件。然后,找到你的cgi-bin目录,
然后在cgi-bin目录下创建phplib目录。接着,拷贝所有的PHPLIB中的.inc文件到phplib目录下。最后,将
phplib目录放在php.ini文件中include_path = 的那行上。
include_path是PHP引用在include()或require()中文件名的地方。在我的NT工作站上,包含路径是
include_path = ".;i:/project52/includes;i:/project52/phplib";
在Linux机器上,则为
include_path = ".;/home/httpd/includes;/home/httpd/phplib";
在每一个PHP页面的顶端为
<?php
require(common.php3);
?>
common.php3在包含目录中,包含对每一页都通用的所有的数据和函数。在common.php3中,为
<?php
require(db_mysql.inc);
require(ct_sql.inc);
require(session.inc);
require(auth.inc);
require(perm.inc);
require(user.inc);
require(page.inc);
?>
阅读PHPLIB文档(http://phplib.netuse.de),也可以在http://www.phpbuilder.com下查找一些好文
章,来了解你需要包括些什么。Db_mysql.inc包含了DB_Sql类的定义。如果你想将MySQL改换成PostGreSQL
数据库,将db_mysql.inc改成对db_pgsql.inc的包含。那里有10个.inc文件,涵盖了MS SQL,Oracle,Sybase
和其它一些数据库。
请注意,在这个例子中,require()和include()是完全一样的。Require()和include()工作方式不同,
当用在代码中间或在if()语句中时,结果是不一样的。
扩充PHPLIB
PHPLIB处理数据库是通过从DB_Sql类创建的一个对象实现的。Db_mysql.inc包含了DB_Sql类,为MySQL
进行了修改。我们将通过向common.php3添加代码来扩充DB_Sql,在包含db_mysql.inc的行的后面。
DB_Sql包含了很多进行查询的函数。我们想改变的一个是:
<?php
/* public: 连接管理 */
function connect($Database = "", $Host&nbs
相关新闻>>
- 发表评论
-
- 最新评论 更多>>