InfoQ

交流

讨论:Php面向对象编程快速入门

作者 jndx 发布于 2003-09-02 分类:php基础编程

面向对象编程(OOP)是我们编程的一项基本技能,PHP4对OOP提供了良好的支持。如何使用OOP的思想来进行PHP的高级编程,对于提高PHP编程能力和规划好Web开发构架都是非常有意义的。下面我们就通过实例来说明使用PHP的OOP进行编程的实际意义和应用方法。

我们通常在做一个有数据库后台的网站的时候,都会考虑到程序需要适用于不同的应用环境。和其他编程语言有所不同的是,在PHP中,操作数据库的是一系列的具体功能函数(如果你不使用ODBC接口的话)。这样做虽然效率很高,但是封装却不够。如果有一个统一的数据库接口,那么我们就可以不对程序做任何修改而适用于多种数据库,从而使程序的移植性和跨平台能力都大大提高。

  在PHP中要完成OOP,需要进行对象封装,也就是编写类。我们可以通过生成一个新的SQL类实现对数据库的简单封装。例如:
< ?
class SQL
{
var $Driver; //实际操作的数据库驱动子类
var $connection; //共用的数据库连接变量
function DriverRegister($d)
{
if($d!="")
{
$include_path = ini_get("include_path");
$DriverFile = $include_path."/".$d.".php";
//驱动的存放路径必须在PHP.ini文件中设定的INCLUDE_PATH下
if( file_exists( $DriverFile)) //查找驱动是否存在
{
include($DriverFile);
$this->Driver = new $d();
// 根据驱动名称生成相应的数据库驱动类
return true;
}
}
return false; //注册驱动失败
}
function Connect($host,$user,$passwd,$database)//连接数据库的函数
{
$this->Driver->host=$host;
$this->Driver->user=$user;
$this->Driver->passwd=$pas
swd;
$this->Driver->database=$d
atabase;
$this->connection = $this->Driver->Connect();
}
function Close()//关闭数据库函数
{
$this->Driver->close($this->connection);
}
function Query($queryStr)//数据库字符串查询函数
{
return $this->Driver->query($queryStr,$this->connection);
}
function getRows($res)//查找行
{
return $this->Driver->getRows($res);
}
function getRowsNum($res)//取得行号
{
return $this->Driver-> getRowsNum ($res);
}
}
? >



逛论坛交流Php面向对象编程快速入门

加入书签
digg+,
reddit+,
del.icio.us+,
dzone+

5 条回复

回复

最近,偶关心的是怎么在PHP中,用OO来实.. 发表人 KnightE 发表于 09月21日
MVC?什么? 付:so 盗版~! 发表人 xltxlm 发表于 09月21日
QUOTE: 最初由 xltxlm 发布 .. 发表人 tmyu 发表于 09月21日
恩。。。 在改变人生价值观 偶.. 发表人 xltxlm 发表于 09月21日
那你可得多灌点,把村子淹了 发表人 tmyu 发表于 09月21日
  1. 返回顶部

    Re: Php面向对象编程快速入门

    2003年09月21日 发表人 KnightE

    最近,偶关心的是怎么在PHP中,用OO来实现MVC
    so复杂

  2. 返回顶部

    Re: Php面向对象编程快速入门

    2003年09月21日 发表人 xltxlm

    MVC?什么?

    付:so 盗版~!

  3. 返回顶部

    Re: Php面向对象编程快速入门

    2003年09月21日 发表人 tmyu


    QUOTE:
    最初由 xltxlm 发布
    [B]MVC?什么?

    付:so 盗版~! [/B]

    是不是相亲去了,回来口号变了
    mvc什么模型视图控制

  4. 返回顶部

    Re: Php面向对象编程快速入门

    2003年09月21日 发表人 xltxlm

    恩。。。
    在改变人生价值观

    偶现在没有网络环境,估计今天就是最后一次上网:blowzy: 再忍一个月。。。

  5. 返回顶部

    Re: Php面向对象编程快速入门

    2003年09月21日 发表人 tmyu

    那你可得多灌点,把村子淹了




  6. 我有话要讲:(可以匿名发表, 发广告的有多远请滚多远!!!)

    昵称: 请输入验证码:


抢着回答

这个是怎么造成的?

SQL错误 -- [You have an error in your SQL syntax. Check the ...

把PHP程序带码转换成jsp

在PHP程序中<?include("网页");?> 这句是引用某个网页,在...

求助~~~

在一个页面中用到显示一个已定义好的层,,`~~ 需要向个层中传...

求教在线用户的判断方法,高手进!!!

小弟这两天在用PHP编一个聊天室,基本的都搭建好了,不过,要判断...

为什么会提示要域?

在WIN2000下用IIS配PHP+MYSQL,安装实验phpinfo正常。 但在使用...

紧急求助:mysql安装问题

我的操作系统是WIN2000,安装在F盘,MYSQL版本是4.0.14先解开压缩...

how to 实现数据库id 字段 自动累加

如题 谢谢 先

在哪输入redhatlinux9的命令?

在redhat9的图形界面中,怎样输入命令? 我没找到那个输入命令...

如何安全~~~~~~~~~~~~~~~~~~~~

在服务器上装mysql后 为了安全需要作哪些 操作?如何操作?

求教: session 变量注册后可否改变其值...

求教: session 变量注册后可否改变其值?

[]