laravel 契约概念

人丑就要多读书,反正,其他什么事也与你无关。

 

laravel 什么是契约?

Laravel中的契约是指框架提供的一系列定义核心服务的接口,比如缓存,队列,日志的接口,契约就是接口。

实质就是面向接口编程,

 

为什么要定义接口?

定义接口的目的是为了解耦,定义契约,是为了一组功能实现的一个约定,方便第三方接口开发人员的开发。

 

例如,在申明一个接口的时候,如下申明

复制代码
use Memcached;

class Repository {
    public $cache;

    public function __construct(Memcached $cache) {
        $this->cache = $cache;
    }
}
复制代码

那么这个 接口类就只能适用于 Memcached 的使用了,如何想用其他的,比如redis之类的就不行

 

但是如果使用契约设计接口

复制代码
use Illuminate\Contracts\Cache;

class Repository {
    public $cache;

    public function __construct(Cache $cache) {
        $this->cache = $cache;
    }
}
复制代码

那么只要符合Cache类型的缓存类,是不是都可以进行运用,而不用改变什么代码

 

posted @   方达达  阅读(51)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
历史上的今天:
2021-08-18 算法 之 二叉树的前序 中序 后序遍历
点击右上角即可分享
微信分享提示