请选择 进入手机版 | 继续访问电脑版
收起左侧

php-适配器模式

[复制链接]

552

主题

569

帖子

1万

积分

管理员

站长

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
16427

灌水之王

QQ
发表于 2020-5-31 15:22:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x



简单说就是先定义一个接口

这个接口规范了下面的各种不同的MySQL操作类的方法名称必须一致


如:缓存驱动,先定义接口
CaCheInterface.php
[PHP] 纯文本查看 复制代码
<?php
namespace app;
/**
 * 缓存驱动方法
 * Interface Factory
 */
interface Factory
{

    /**
     * 获取一个key的值,不存在返回false
     * @param $key
     * @return mixed
     */
    public function get($key);

    /**
     * 设置一个key
     * @param $key
     * @param $value
     * @return boolean
     */
    public function set($key, $value);

    /**
     * 设置一个key的过期时间 秒
     * @param $key
     * @param $s
     * @return boolean
     */
    public function setNx($key, $s);

    /**
     * 设置一个key的过期时间 毫秒
     * @param $key
     * @param $ms
     * @return boolean
     */
    public function setNxS($key, $ms);

}


简单定义了 对缓存的设置、获取、设置过期时间这些操作
那么缓存的常规操作就必须实现这些方法
如:RedisCache.php

[PHP] 纯文本查看 复制代码
class RedisCache implements Factory
{


    public function get($key): array
    {
        // TODO: Implement get() method.
        return [];
    }

    public function set($key, $value)
    {
        // TODO: Implement set() method.
    }

    public function setNx($key, $s)
    {
        // TODO: Implement setNx() method.
    }

    public function setNxS($key, $ms)
    {
        // TODO: Implement setNxS() method.
    }
}






上一篇:php-注册器模式
下一篇:php-策略模式
QQ:2424004764
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|客户端下载|先锋者IT论坛 ( 湘ICP备16007032号湘公网安备 43030202001052号

GMT+8, 2024-4-18 17:43 , Processed in 0.101316 second(s), 17 queries , File On.

Powered by Discuz! X3.3

© 2017 bbs.fologde.com. Template By Gstudio

快速回复 返回顶部 返回列表