现在的位置: 首页 > 编程语言 > 正文

如何使用PHP的OOP进行编程

2020年05月28日 编程语言 ⁄ 共 2602字 ⁄ 字号 评论关闭

  我们通常在做一个有数据库后台的网站的时候,都会考虑到程序需要适用于不同的应用环境。和其他编程语言有所不同的是,在PHP中,操作数据库的是一系列的具体功能函数(如果你不使用ODBC接口的话)。这样做虽然效率很高,但是封装却不够。下面学步园小编来讲解下如何使用PHP的OOP进行编程?

  如何使用PHP的OOP进行编程

  在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;

  }

  }

  returnfalse;//注册驱动失败

  }

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

  }

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

  {

  $this->Driver->close($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);

  }

  }

  ?>

  如何使用PHP的OOP进行编程

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

  

  ClassMySQL

  {

  var$host;

  var$user;

  var$passwd;

  var$database;

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

  {

  $host="";

  $user="";

  $passwd="";

  $database="";

  }

  functionConnect()

  {

  $conn=MySQL_connect($this->host,$this->user,$this->passwd)or

  die("Couldnotconnectto$this->host");

  MySQL_select_db($this->database,$conn)or

  die("Couldnotswitchtodatabase$this->database;");

  return$conn;

  }

  functionClose($conn)

  {

  MySQL_close($conn);

  }

  functionQuery($queryStr,$conn)

  {

  $res=MySQL_query($queryStr,$conn)or

  die("Couldnotquerydatabase");

  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(“select*fromtest”);//返回查询记录集

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

  if($rowsnum>0)

  {

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

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

  {

  foreach($rowas$field){

  print$field;}

  }

  }

  $sql->Close();

  }

  ? >

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

  以上就是关于“如何使用PHP的OOP进行编程”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!

抱歉!评论已关闭.