付费课程, 订阅后即可观看
Facade 使用方法详解
Facade,Service,Service Provider,Service Container 是密切相关的,只有理解了他们之间的关系,你才能够理解 Facade 是怎么一回事,Facade 其实就是对服务的进一步包装,让我们可以以寓意上更清晰的方式调用服务,器背后其实仍然是由 app('XXX_name') 获取服务
微信扫码登录
![](https://www.coding10.com/images/auth/default.png)
Facade,Service,Service Provider,Service Container 是密切相关的,只有理解了他们之间的关系,你才能够理解 Facade 是怎么一回事,Facade 其实就是对服务的进一步包装,让我们可以以寓意上更清晰的方式调用服务,器背后其实仍然是由 app('XXX_name') 获取服务
其实很晕,看来这之前的课程还需要重新学一遍才能理解
最重要的是理解他们之间的关系,理清了关系之后不明白具体细节也没事儿
看到这里凌乱了哈哈哈哈
你这就有点对不起我了,我都把家里青蛙解剖成肉丝了你还不明白,你连青蛙🐸都对不起
哈哈哈哈哈,所以要再看一遍
本节课观看了三遍,才彻底理解:
首先facedes与服务提供者(php artisan make:provider 服务提供者名称) 提供了截然不同的调用形式: facedes提供了类似Log::info("输出程序日志等") 这种访问方式, provider则需要从app() 、resolve、app()->make() 解析使用。
其次从代码实现方式上看,facedes则首选需要创建与定义一个静态实例(例如getFacadeAccessor返回 "自定义名称"),然后在服务提供者中绑定,这种绑定由于是自定义名称,没有实体类对应,因此需要在全局服务提供者中注册(app/config/app.php>provider 和aliases)中注册才能使用。
最后,控制器则需要使用use 引入aliases定义的facedes门面别名,才能实现Log::自定义方法。
总结:特别感谢老师,让我彻底了解了,provider和facedes两者之间的使用方式和代码编写方式,真的是非常难得的教程。
补充一下:虽然老师的视频中,可以直接使用log::info() ,但是我测试的时候,会报错,必须使用 use Log(=app/config/app.php>aliases中的Log类的别名),然后才能在正确使用facedes中定义的方法。
老哥 公司用thinkphp 学laravel 新手 你前面从依赖注入讲到现在的门面 平常您是用门面多还是依赖注入的多
看情况吧,一般传参的时候肯定是用依赖注入,这类东西通常都是要从数据库拿数据的,对于其他的服务,可以使用Facade,这样比价方便
恩 好滴
看懂了,留个脚印~
前前后后三四篇,都是抽的零碎时间来学习,今天也留个脚印,因为算了看明白了,希望以后不要再来看基础类的视频了,哈哈哈
我相信还是会看的,基础的东西才是使用频率最高的内容,哪怕是理解了,只要记忆偶尔出现了偏差,还是需要经常回顾和查看的,至少我是这样,我也不觉得这是技术水平出了问题或者没有掌握的问题,单纯就是有时候不相信自己的记忆力。我们看自己半年前写的代码时不也经常觉得自己当初是个外星人吗?
昨天刚留的脚印,感觉今晚马上又要看了...果然话不能说太满,惭愧