只是简要说明起原理和用法,具体可以百度
abstract 抽象类
抽象类是指在 class 前加了 abstract 关键字且存在抽象方法,不带{},如public function test()
interface 接口类
interface 需要实现,要用 implements ,而 abstract class 需要继承,要用 extends 。
一般用法:
定义一个abstract /interface 的 缓存类模板A,有新增存储方法、删除缓存方法
使用文件缓存,继承缓存类模板A
使用redis缓存,继承缓存类模板A
这样,我们就可以不修改代码,或少修改代码,通过配置来决定用哪个方式缓存