通过依赖注入,将缓存接口注入到我们的类中。下次我们修改缓存系统时,MyClass 类不需要做任何的改变。
PHP 不支持多继承,下面这种方式是不可能的
1
|
class MyClass extends ClassX, ClassY {} |
之所以不允许这样做部分原因是由于 Diamond 问题.
不过,你可以这么做
1
2
|
class ClassY extends ClassX {} class MyClass extends ClassY {} |
但是 ClassX
和 ClassY
可能处理不同的事情,因此使用继承没有任何意义。
如果你想要执行多种行为,那么你可以多个接口
1
|
class MyClass implements InterfaceX, InterfaceY {} |
换句话说,你可以让一些类共享一部分功能而不是共享一个父类。
PHP 接口是类的方法模板,这对于解耦实现及使用是非常有帮助的。
当你需要保持灵活性并确保所有开发人员都遵循一组规则时,此功能特别有用。