laravel Cache的源码分析

本文探讨laravel的Cache机制,从Cache::get()方法入手,解析如何通过Facade访问CacheManager,以及如何根据配置选择驱动。在CacheManager中,通过__call方法调用store方法确定驱动,并依据config/cache.php配置获取驱动参数。最后,详细阐述了如何实例化并使用如file驱动的Store对象。
摘要由CSDN通过智能技术生成

laravel的cache支持很多中驱动 file,redis memcache.
我们从Cache::get() 方法开始,首先这里的Cache 使用了laravel中的门面.

Illuminate\Support\Facades\Cache::class

这个类继承了Facade.php这里类.当需要执行get方法的时候就调用了Facade类中的魔术方法__callStatic方法,该方法就不做解释了,总之就是去laravel容器中获取这个门面类中返回的门面别名,通过这个别名去容器中获取对应的这个对象.(在加载这个框架的时候,框架中提供了很多的ServiceProvider,这些ServiceProvider类中的register方法,这些框架中的ServiceProvider类都继承Illuminate\Support\ServiceProvider类.也有自定义的ServiceProvider,自定义的ServiceProvider 都是放在App\Providers目录下.以ServiceProvider名结尾的类,这些ServiceProvider都继承自Illuminate\Foundation\Support\Providers目录下的类,这写类都继承Illuminate\Support\ServiceProvider所以这些服务提供都继承这个类,在这些类中都实现了register方法,在register方法使用app对象去绑定一个对象对应一个别名的一个形式ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值