第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

【九月打卡】第6天 設(shè)計(jì)模式之適配器模式

课程名称:大话PHP设计模式

课程章节:适配器模式

课程讲师:Rango

课程内容:

为什么要使用适配器模式

首先要来说适配器模式解决了什么问题,试想如下场景,php可以使用mysql库或者pdo库来操作数据库,但是有的人像用mysql,有的人想用pdo;
那么就可以定义一套同一的接口,分别实现mysql版本和pdo版本,然后由用户来选择使用哪一个

具体实现

注意这套代码仅展示功能,直接复制过去是不能运行的,你可能需要修改命名空间

  • 首先定义一套接口
<?php

interface Database
{
  public function connect($host, $user, $name, $dbname);
  public function query($sql);
  public function close();
}
  • 然后实现用mysql库来实现接口
<?php

namespace Databasee;

class Mysql implements \Database
{

  public function connect($host, $user, $name, $dbname)
  {
    // 这里写使用Mysql连接到数据库的具体实现代码
    return '连接到数据库';
  }

  public function query($sql)
  {
    // 这里写使用Mysql进行数据库查询的具体实现代码
    return "执行sql语句({$sql})";
  }

  public function close()
  {
    // 这里写关闭Mysql关闭数据库的具体实现代码
    return '关闭数据库';
  }
}
  • 然后用pdo来实现接口
<?php


namespace Databasee;


class Pdo implements \Database
{

  public function connect($host, $user, $name, $dbname)
  {
    // 这里写使用Pdo连接到数据库的具体实现代码
    return '连接到数据库';
  }

  public function query($sql)
  {
    // 这里写使用Pdo进行数据库查询的具体实现代码
    return "执行sql语句({$sql})";
  }

  public function close()
  {
    // 这里写关闭Pdo关闭数据库的具体实现代码
    return '关闭数据库';
  }
}
  • 最后来使用自己写的mysql类和pdo类操作数据库
<?php

use Databasee\Mysql;
use Databasee\Pdo;

// 使用封装的Mysql类访问操作数据库
$obj = new Mysql();
echo $obj->connect('127.0.0.1', 'admin', 'admin', 'test');
echo $obj->query('select * from test');
echo $obj->close();

// 使用封装的Pdo类访问操作数据库
$obj = new Pdo();
echo $obj->connect('127.0.0.1', 'admin', 'admin', 'test');
echo $obj->query('select * from test');
echo $obj->close();

其它

适配器模式除了适合用在操作数据库上,还适合用在操作缓存上面,比如封装一个文件缓存、一个redis缓存、一个数据库缓存

课程收货

通过学习适配器模式,想到了在之前用过的tp框架中一些功能的实现,这套设计模式非常实用,可以把多种不统一的接口统一为一套接口。感谢rango老师的讲解。

图片描述

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消