如何在Laravel代码中获取容器实例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1452个文字,预计阅读时间需要6分钟。
本教程由Laravel教程栏目为大众介绍如何在代码中获取容器实例。希望对需要的朋友有所帮助!Laravel容器实例在整个请求生命周期中都是唯一的,并且管理着所有服务组件的实例。
本文由laravel教程栏目给大家介绍怎么在代码中获取到容器实例,希望对需要的朋友有所帮助!laravel容器实例在整个请求生命周期中都是唯一的,且管理着所有的服务组件实例。那么有哪些方式能够拿到laravel容器的实例呢?常用的有以下几种方式:
1) 通过app这个help函数:
$app = app();
app这个辅助函数定义在
文件里面,这个文件定义了很多help函数,并且会通过composer自动加载到项目中。所以,在参与http请求处理的任何代码位置都能够访问其中的函数,比如app()。
2)通过App这个Facade
<?php Route::get('/', function () { dd(App::basePath()); return ''; });
通过App这个Facade拿容器实例的方式,跟上面不同的是,不能把App先赋给一个变量,然后通过变量来调用容器的方法。这是因为App相当于只是一个类名,我们不能把一个类名复制一个变量。$app = App;不是一个合法的可执行的语句,而$app = app();却是一个合法的可执行的语句,因为它后面有app(),表示函数调用。App::basePath();也是一个合法的语句,它就是在调用类的静态方法。
本文共计1452个文字,预计阅读时间需要6分钟。
本教程由Laravel教程栏目为大众介绍如何在代码中获取容器实例。希望对需要的朋友有所帮助!Laravel容器实例在整个请求生命周期中都是唯一的,并且管理着所有服务组件的实例。
本文由laravel教程栏目给大家介绍怎么在代码中获取到容器实例,希望对需要的朋友有所帮助!laravel容器实例在整个请求生命周期中都是唯一的,且管理着所有的服务组件实例。那么有哪些方式能够拿到laravel容器的实例呢?常用的有以下几种方式:
1) 通过app这个help函数:
$app = app();
app这个辅助函数定义在
文件里面,这个文件定义了很多help函数,并且会通过composer自动加载到项目中。所以,在参与http请求处理的任何代码位置都能够访问其中的函数,比如app()。
2)通过App这个Facade
<?php Route::get('/', function () { dd(App::basePath()); return ''; });
通过App这个Facade拿容器实例的方式,跟上面不同的是,不能把App先赋给一个变量,然后通过变量来调用容器的方法。这是因为App相当于只是一个类名,我们不能把一个类名复制一个变量。$app = App;不是一个合法的可执行的语句,而$app = app();却是一个合法的可执行的语句,因为它后面有app(),表示函数调用。App::basePath();也是一个合法的语句,它就是在调用类的静态方法。

