面向对象基础—-封装数据库操作类

微信扫一扫,分享到朋友圈

面向对象基础—-封装数据库操作类

思考:现在掌握了很多面向对象相关的内容,但是什么时候封装类?怎么封装?如果使用类成员?

引入:其实类的封装没有多么复杂,但是需要一个熟练的过程来确定哪些东西可以放到类里,该用什么样的形式等。我们通过封装一个数据库的操作来综合练习下

 

 

封装数据库类 掌握

定义:封装数据库操作类,即根据数据库的操作需求,来确认数据库操作类该有什么样的功能,以及这些功能该如何实现。

1.一个类通常就是一个文件,所以要先确定文件的名字:通常类文件命名规范有两种。

  •   文件名字与类名一样,如Sql.php
  •   为了区分普通php文件,增加中间类描述,如Sql_class.php
  •   现在php几乎都是面向对象变成,所以通常采用第一种方式:因此当前命名规范数据类的文件为:Sql_php

2.确定类文件名字后其实也就是确定了类名字,因此可以创建一个Sql类。

<?php//数据库操作类
classSql{
}?>

3.类的创建分两种:一是特定使用,即类里面的所有内容只为某次使用;二是通用,即工具类,以后很多地方可以用;

  特定使用,功能可以不同太灵活

  通用工具,功能应该大众化,数据的变化会比较多

数据库类以后凡是要操作数据库的地方都可以用得到,很多项目都会用到,所以应该是个通用类工具,因此要考虑其到处可用的特性,让其能够灵活。

4.数据库的错操最基本的特性不会改变,即需要连接认证  而连接认证的信息是灵活的,所以可以通过设定属性来控制,这些信息也都是不同使用这不同的

应该可以改变,所以可以通过__construct来实现数据传入

<?php//数据库操作类
classSql{//设置属性
public $host;public $user;public $pwd;public $port;public $dbname;public $charset;//构造方法初始化数据,数据较多,应该使用数组来传递数据,关联数组,而绝大部分的开发者本意是用来测试,
//所以基本都是本地,因此可以给默认数据
public function __construct(array $info=array())
{//这里的??表示为 $a=$c??$b 等同于 $a=isset($c)?$c:$b; 如果变量c存在就等于c否则等于b
$this->host=$info[‘host‘]??‘localhost‘;$this->user=$info[‘user‘]??‘root‘;$this->pwd=$info[‘pwd‘]??‘root‘;$this->port=$info[‘port‘]??‘3306‘;$this->dbname=$info[‘dbname‘]??‘t1‘;$this->charset=$info[‘charset‘]??‘utf8‘;
}
}$info =array(0=>‘sdfsdf‘,1=>‘sdf‘,2=>‘sdfsdf‘);print_r($info);?>

注意:方法设定的原则是一个方法只实现一个简单的功能,不要多个功能堆积到一个方法中。

5.数据库属性会在实例化sql对象的时候自动初始化

 

面向对象基础—-封装数据库操作类

原文地址:https://www.cnblogs.com/xiaowie/p/12237747.html

mysql 关联子查询优化

上一篇

Mysql使用的B+树和存储引擎的关系

下一篇

你也可能喜欢

面向对象基础—-封装数据库操作类

长按储存图像,分享给朋友