PHP面向对象编程快速了解
作者:bea
面向对象编程(OOP)是我们编程的一项基本技能,也是我们项目开发中常用的技术。从PHP4开始就已经对OOP提供了良好的支持。如何灵活运用OOP的思想来进行PHP的高级编程,对于提高PHP编程能力和规划好Web开发构架都是非常有意义的。下面我们就通过实例来说明使用PHP的OOP进行编程的实际意义和应用方法。 我们通常在做一个有数据库后台的网站的时候,都会考虑到程序需要适用于不同的应用环境。和其他编程语言有所不同的是,在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中,操作数据库的是一系列的具体功能函数(如果你不使用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连接mysql数据库的二种方法
- PHP数组合并函数array_merge
- php会话控制cookie的应用
- PHP学习:遍历数组的几种方法
- PHP查询指定字符在字符串出现的次数
- 优化PHP程序效率的一些细节
- 推荐几本好的PHP书籍
- 向大家推荐几款好用的php开发工具
- PHP中异常处理机制介绍
- PHP编码规范之注释规范
- PHP常用设计模式之单例模式
- php中instanceof操作符的作用
- PHP中静态变量、成员和方法
- PHP+MySQL实现网站在线人数统计
- PHP文件怎么打开,用什么打开
- 介绍PHP怎样处理表单
- php中的变量使用总结
- PHP快速入门之学会构建数据库
- PHP快速入门之流程控制详解