首页 > 作文

PHP面向对象编程快速入门

更新时间:2023-04-06 06:42:05 阅读: 评论:0

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

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

  在php中要完成oop,需要进行对象封装,也就是编写类。我们可以通过生成一个新的sql类实现对数据库的简单封装。例如:

<?

classsql

{

var$driver;//实际操作的数据库驱动子类

var$connection;//共用的数据库连接变量

functiondriverregister($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();

//根据驱动名称生成相应的数据库驱动类

returntrue;

}

}

returnfal;//注册驱动失败

}

functionconnect($host,$ur,$passwd,$databa)//连接数据库的函数

{

$this->driver->host=$host;

$this->driver-&细菌是生物吗gt;ur=$ur;

$this->driver->passwd=$pas

swd;

$this->driver->databa=$d

ataba;

$this->connection=$this->driver->connect();

}

functionclo()//关闭数据库函数

{

$this->driver->clo($this->connection);

}

functionquery($querystr)//数据库字符串查询函数

{

return$this->driver->query($querystr,$this->connection);

}

functiongetrows($res)//查找行

{

return$this->driver->getrows($res);

含雨的诗句}

functiongetrowsnum($res)//取得行号

{

return$this->driver->getrowsnum($res);

}

}

?>

  我们以操作mysql数据库为例。我们写一个数据库驱动类mysql,在该类中,我们把有关mysql数据库操作的函数都做进一步的封装。把包含该类,文件名为mysql.php的文件放在php的系统include_path下,就可以正常地使用了。注意编写数据库驱动文件时,文件名应和类名保持一致。

<?

classmysql

{

var$host;

var$ur;

var$passwd;

var$databa;

functionmysql()//利用构造函数实现变量初始化

{

$host=“”;

$ur=“”;

$passwd=“”;

$databa=“”;

}

functionconnect()

{

$conn=mysql_connect($this->host,$this->ur,$this->passwd)or

die(“couldnotconnectto$t大榕树下his->host”);

mysql_lect_db($this->databa,$conn)or

die(“couldnotswitchtodataba$this->databa;”);

return$conn;

}

functionclo($conn)

{

mysql_clo($conn);

}

functionquery($querystr,$conn)

{

$res=mysql_query($querystr,$conn)or

die(“couldnotquerydataba”);

return$res;

}

functiongetrows($res)

{

$rowno=0;

$rowno=mysql_num_rows($res);

if($rowno>0)

{

for($row=0;$row<$rowno;$row++)

{

$rows[$row]=mysql_fetch_row($res);

}

return$rows;

}

}

functiongetrowsnum($res)

{

$rowno=0;

$rowno=mysql_num_rows($res);

return$rowno;

}

}

?>

  同样我们要封装其他的“数据库驱动”到我们的sql类中,只需要建立相应的类,并以同名命名驱动文件,放到php的include目录就可以了。

  完成封装以后,就可以在php中按照oop的思想来实现对数据库的编程了。

< ?

include(“sql.php”);

$sql=newsql;//生成新的sql对象

if($sql->driverregister(“mysql”))//注册数据库驱动

{

$sql->connect(“localhost”,”root”,””,”test”);

$res=$sql->query(“lect*fromtest”);//返回查询记录集

$rowsnum=$sql->getrowsnum($res);

if($rowsnum>0)

{

$rows=$sql->getrows($res);

foreach($rowsas$row)//循环取出记录集内容

{

foreach($rowas$field){

print$field;}

}

}

$sql-&g计算机考试报名t;clo();

}

? >

  在实际应用中,我们还可以根据实际需求对各种对象类做进一步扩展。在php中,还提供了一系列复杂的oop方法,例如继承,重载,引用,串行化等等。充分调动各种方法并灵活运用,就能够使你的网站更合理和结自身条件构化,开发和维护也更容易。

本文发布于:2023-04-06 06:42:03,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/3126662f5b8cd0ce30db813b7405b509.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP面向对象编程快速入门.doc

本文 PDF 下载地址:PHP面向对象编程快速入门.pdf

标签:数据库   函数   就可以   文件
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图