Home > Backend Development > PHP Tutorial > laravel 5 中 $this->app 是哪里赋值的

laravel 5 中 $this->app 是哪里赋值的

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-06 20:26:11
Original
1675 people have browsed it

laravel 5 中 $this->app 是哪里赋值的

laravel 5 中 $this->app 是哪里赋值的

为什么在 instances 方法中对属性 instances 数组赋值后。
$this->app 便有了值。

回复内容:

laravel 5 中 $this->app 是哪里赋值的

laravel 5 中 $this->app 是哪里赋值的

为什么在 instances 方法中对属性 instances 数组赋值后。
$this->app 便有了值。

还是早晨脑子清醒,把 Container 类看了一遍找到 $this->app 咋来的了。
Container 类实现了 ArrayAccess 接口,关于 ArrayAccess 接口的介绍可以参考官方文档

现在很多moden php 框架都使用了这个东西。

当访问 $this->app 的时候默认调用的 Container 类中的 offsetGet 方法,然后 offsetGet 调用了 Container 类的 make 方法这个方法是 根据传入的类型从Container 中获取类型实例的方法。看到 make 方法的代码

<code>if (isset($this->instances[$abstract])) {
            return $this->instances[$abstract];
        }</code>
Copy after login

瞬间就明白了 $this->app 的来源~

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
Composer cannot install laravel
From 1970-01-01 08:00:00
0
0
0
Laravel Space/laravel-backup cannot be installed
From 1970-01-01 08:00:00
0
0
0
Laravel 5.1 Login laravel comes with it No more
From 1970-01-01 08:00:00
0
0
0
Why thinkphp has better performance than laravel?
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template