php可以同时面向过程和面向对象吗
发布网友
发布时间:2022-04-29 02:37
我来回答
共1个回答
热心网友
时间:2022-04-07 12:30
面向对象,是把一些常用的操作进行类封装起来,方便调用,需要用的地方,调用一下即可,这样,开发方便,维护也方便!修改这个封装的类,即可达到修改全站的目的!
面向过程,是在每一个地方都使用单独的代码进行操作,这样开发的时候重复累赘,维护的时候也很累,你修改了哪里,就只在哪里起作用!
<?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 ); //打印这个数组
以上个人见解,仅供参考