这篇文章主要介绍“laravel契约怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“laravel契约怎么使用”文章能帮助大家解决问题。在laravel中,契约指的是框架提供的一系列定义核心服
这篇文章主要介绍“laravel契约怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“laravel契约怎么使用”文章能帮助大家解决问题。
在laravel中,契约指的是框架提供的一系列定义核心服务的接口,用于方便第三方接口开发人员的开发,所有契约的实现组成了框架所有的核心任务,并且可以通过契约了解指定功能的作用。
本文操作环境:windows10系统、Laravel6版、Dell G3电脑。
契约是什么
Laravel中的契约是指框架提供的一系列定义核心服务的接口,比如缓存,队列,日志的接口,契约就是接口
为什么要定义接口
定义接口目的为了解耦
当我们依赖注入缓存实例的时候laravel实现如下:
例如:我们选择使用memcached 缓存驱动
use Illuminate\Contracts\Cache\Repository as Cache;class Repository{ public function __construct(Cache $cache) { $this->cache = $cache; }}
不定义接口
如果不定义接口我们必须这样写
use Memcached;class Repository{ public function __construct(Memcached $cache) { $this->cache = $cache; }}
这样当我们需要切换缓存驱动为redis 的时候,我们必须去控制器中把依赖注入的类型约定修改成Redis,因为redis 的实现,和Memcached 并不一定完全相同,这就说明Memcached缓存紧密耦合与laravel
什么才算是松耦合
什么才算松耦合,当系统升级,需要对一种实现进行修改(如从Memcached 需要升级到Redis)时,能够不对代码库进行修改,只需要对配置进行修改就能完成升级的时候就算是松耦合了!
一个契约两种,或者多种实现
个人感觉,契约既然定了,那么对应的实现应该是两种,或者更多的实现,或者在不久的将来会有两个或者更多的实现,契约就是来规定这么多实现的。如果肯定只有一种实现,感觉契约就没啥用了!
关于“laravel契约怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。
--结束END--
本文标题: laravel契约怎么使用
本文链接: https://www.lsjlt.com/news/323357.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0