首页 热点资讯 义务教育 高等教育 出国留学 考研考公

一个关于PHP面向过程和面向对象的问题

发布网友 发布时间:2022-04-21 23:28

我来回答

1个回答

热心网友 时间:2022-04-07 02:18

面向对象,是把一些常用的操作进行类封装起来,方便调用,需要用的地方,调用一下即可,这样,开发方便,维护也方便!修改这个封装的类,即可达到修改全站的目的!

面向过程,是在每一个地方都使用单独的代码进行操作,这样开发的时候重复累赘,维护的时候也很累,你修改了哪里,就只在哪里起作用!

比如,初学php,最基本的连接数据库和查询数据库都会这样写:

<?php
 $Con = mysql_connect(.........);
 mysql_query('set names utf8');
 mysql_select_db(....);
 
 $query = mysql_query( $sql );
 while( $Rs = mysql_fetch_aray( $query ) ) {

  echo $Rs[0]; 
 }

等等这样,操作10次数据库,就写10次这样的代码!

而如果封装一个类,意义就不同了!

<?php
 class mysql{

   var $Con;
   var $table; 
   public ConnEct( $local, $root, $pass, $base, $code){

    $this -> Con = mysql_connect( $local, $root, $pass);
    mysql_query('set names ' . $code);
    mysql_select_db( $base );
        
   
   }      
   
  public Tab( $Table) {


   $this -> table = $Table;
   return $this;   
  }    

  public Select(){

    $rs = mysql_query('select * from ' . $this -> table)
    while( $Rs = mysql_fetch_array( $rs ) {
      $Rule[] = $Rs; 
    }  
     
  return $Rule; 
  }    
 }

把上面的代码保存成一个文件,比如是mysql.php,在需要操作数据库的地方引入这个文件,那么要查询数据库的一个表就非常方便了!

<?php
  include_once 'mysql.php';
  $Mysql = new mysql; //实例化一个类;
  $Mysql -> ConnEct('localhost', 'root', 123456, 'table', 'utf8');//连接数据库
  $Resul = $Mysql ->  Tab('user') -> Select();//查询user表,并返回数组结果
  print_r( $Resul ); //打印这个数组

以上个人见解,仅供参考

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com