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对象去绑定一个对象对应一个别名的一个形式ÿ