ServiceProvider laravel中的合同,ServiceContainer,门面关系是什么

  介绍

这篇文章主要介绍laravel中的合同,ServiceContainer, ServiceProvider,门面关系是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

<代码>合同,<代码> ServiceContainer ,<代码> ServiceProvider ,<代码>外墙

1。 <代码>合同合同,契约,也就是接口,定义一些规则,每个实现此接口的都要实现里面的方法;

2。<代码> ServiceContainer> 合同>

3。<代码> ServiceProvider ,<代码> serviceContainer> serviceContainer> 应用程序/配置的<代码>提供者中,会被自动注册到容器中,

4。<代码>外观> ServiceProvider> ServiceContainer>

<强>实现

<代码> 合同接口可以写或不写,这里就不定义了。

定义一个<代码> ServiceContainer> namespace 应用\助手;   class  MyFoo   {   ,,,public  function 添加(一个美元,,b)   ,,,{   ,,,,,,,return  a + b美元;   ,,,}   }

定义一个<代码> ServiceProvider> ServiceContain

& lt; php ?   namespace 应用\提供商;   use 应用\助手\ MyFoo,//要服务的容器   use 阐明\ \ ServiceProvider的支持;   use 应用;   class  MyFooServiceProvider  extends  ServiceProvider   {   ,,,public  function 引导(){}   ,,,//注册到容器中   ,,,public  function 注册()   ,,,{   ,,,,,,,//可以这么绑定,这需要use 应用;   ,,,,,,,的应用:绑定(“myfoo",函数(){   ,,,,,,,,,,,return  new  MyFoo ();   ,,,,,,,});   ,,,,,,,//也可以这么绑定   ,,,,,,,这个美元→程序→绑定(“myfoo",,函数(){   ,,,,,,,,,,,return  new  MyFoo ();   ,,,,,,,});   ,,,}   }

在<代码> app/config。php代码中的<代码>供应商> ServiceProvider>

<代码>应用\ \供应商MyFooServiceProvider::类,

这时候就可以使用了,假设在控制器中使用

public  function 两个($ id=null)   {   ,,,//从系统容器中获取实例化对象   ,,,myfoo 美元;=,应用:使(“myfoo");   ,,,echo 美元myfoo→添加(1、2);   }

这样太麻烦,还需要用<代码>让> MyFooFacade

namespace 应用\外墙;   use 阐明\ \外墙\正面的支持;   class  MyFooFacade  extends 外观   {   ,,,protected  static  function  getFacadeAccessor ()   ,,,{   ,,,,,,,//这里返回的是ServiceProvider中注册时,定义的字符串   ,,,,,,,return  & # 39; myfoo& # 39;;   ,,,}   }

在控制器里就可以直接调用了

use 应用\外墙\ MyFooFacade;   public  function 两个($ id=null)   {   ,,,//从系统容器中获取实例化对象   ,,,myfoo 美元;=,应用:使(“myfoo");   ,,,echo 美元myfoo→添加(1、2);   ,,,//使用门面   ,,,echo  MyFooFacade:添加(4、5);   }

以上是“laravel中的合同,ServiceContainer, ServiceProvider,门面关系是什么”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

ServiceProvider laravel中的合同,ServiceContainer,门面关系是什么