Laravel中Contracts的理解和使用
Laravel 的 Contracts 是一组定义了框架核心服务的接口。说白了就是一组接口。使用它就是为了降低耦合性。 即便如此,是不是也有同学会搞不清楚Contracts在lavarel体系中的到底在一个什么样的位置?下面上一张自制的图,也许有地方不对,但是初学的同学可以通过它大概的,简单的解决下心中的困惑。 通过这张图我们可以看到,当写好自定义的Contract接口及其实现类后,在ServiceProvider中绑定,此时服务容器已经登记上这个Contract了。之后就可以在要用到它的地方,经过服务容器解析直接使用了 下面就详细写一下怎么具体的使用: 第一步,写一个Contract接口: <?php namespace App\Contracts; interface Hello { public function hello(); } 第二步,写上面Contract的实现类: <?php namespace App\Services; use App\Contracts\Hello; class HelloWorld implements Hello { function hello(){ return "Hello!~~"; } } 第三步,写一个自定义的ServiceProvider: <?php namespace App\Providers; use