laravel 服务提供者 别名 门面 3者之间的关系
来源:互联网 发布:收看地方电视台的软件 编辑:程序博客网 时间:2024/06/05 20:17
这3者,实际上都能单独使用。但是通常我们在看别人写的扩展包时,一般都写了服务提供者,以及facade文件,然后在配置文件中注册服务提供者,注册别名。显然这几个是紧密结合在一块的,下面我们来说说他们之间到底是什么关系。
在一个框架里面我们要调用一个类 ,一般都要经历这几个过程 1是require加载 2 是new 3是执行 但是在laravel 我们多半是这样的,例如日志类,use Log ; Log::info(); 看似简单的调用,实际上背后就是这3者的紧密结合所提供的,如下来分析其流程;
1 首先laravel的加载,用的是composer,几乎99%都是用psr-4的命名空间自动加载,解决rquire的问题
2 容器解决了代码里到处new的问题。
3 服务器提供者负责将对象绑定到容器里面去。
事实上在这里我们已经可以很方便的使用一个对象了,例如app('cache')->get(); 系统就会从容器里获取到了cache对象,但是显然还不够方便;
4 门面,有了门面之后我们可以这样调用cache::get(); 看看,又简化了几个字。其背后的原理就是框架帮你从容器里面获取到对象,系统帮你做了这一步app('cache')->get();
5 别名,上面漏说了一点,如果没有别名,我们使用cache::get();必须先引入门面的命名空间,通常来说应该先在文件的头部这么写use Illuminate\Support\Facades\Cache;然后才能cache::get();有了别名之后.我们只需要use Cache; 就可以了,
综上,我们看似很简单的use DB,实际上laravel为了我们方便使用,做了大量工作;
- laravel 服务提供者 别名 门面 3者之间的关系
- 对 laravel 中服务提供者(Provider)和 门面(Facades) 的理解
- laravel 服务提供者的理解
- laravel关于服务提供者的再次理解
- laravel:服务提供者的实际应用
- Laravel服务提供者
- laravel-服务提供者
- laravel服务提供者与服务容器的因果关系
- laravel创建服务提供者实例
- Laravel 中的服务容器、服务、服务提供者
- Laravel学习笔记(三)---Laravel 的核心, 服务容器,服务提供者
- 关于laravel 自动加载和依赖注入、服务容器、服务提供者的理解--1
- laravel--门面
- laravel aliases别名的原理
- laravel摸索之路(1) 服务提供者的实际应用
- (MSOA)微型面向服务架构中服务管理者和服务提供者的松散关系
- Laravel 5 系统架构:服务提供者、服务容器、Contracts、Facades
- laravel 服务容器service container和服务提供者service provider
- Redis数据结构(二)
- 关于sql和执行计划
- 英国政府AI报告:欧洲人工智能最强国的十八条发展建议【附下载】| 智东西内参
- 静态内部类
- 02-各DBMS区别特点
- laravel 服务提供者 别名 门面 3者之间的关系
- QT4 configure 学习备忘
- android常用布局
- java对日期的操作
- vue轮播图插件vue-awesome-swiper的引入及使用
- linux下的find文件查找命令与grep文件内容查找命令
- voc_eval.py 解析
- struts2中Action配置的默认值
- 03-JDBC操作java语言数据库