PHP进阶

只是简要说明起原理和用法,具体可以百度

 

abstract 抽象类 

抽象类是指在 class 前加了 abstract 关键字且存在抽象方法,不带{},如public function test() 

interface 接口类

interface 需要实现,要用 implements ,而 abstract class 需要继承,要用 extends 。

一般用法:

定义一个abstract /interface 的 缓存类模板A,有新增存储方法、删除缓存方法

使用文件缓存,继承缓存类模板A

使用redis缓存,继承缓存类模板A

这样,我们就可以不修改代码,或少修改代码,通过配置来决定用哪个方式缓存

 ========= ========= ========= ========= ========= ========= =========

 门面:非静态方法,可以像静态那样调用。

 ========= ========= ========= ========= ========= ========= =========

依赖注入

控制反转(IOC)是一种思想,依赖注入(DI)是实施这种思想的方法。

 

一般做法:

一个发送短信类,一个发送邮件类

使用interface或者abstract定义他们有相同的方法(发送、群发等)

可以使用依赖注入在控制器选择用哪个类

这样相对直接new写的更好看而已

 ========= ========= ========= ========= ========= ========= =========

门面的概念:

如果想实现静态的去调用一个类的所有的动态(和静态)方法,则可以定义一个Facade的子类,定义一个方法用于返回该类,就可以想调用类方法时,从动态调用$class->function()变成静态调用class::function()

posted @ 2023-09-09 23:33  猫猫客服  阅读(8)  评论(0编辑  收藏  举报