Laravel:解析服务时这段代码如何运作?

时间:2018-06-04 21:17:31

标签: php laravel laravel-5.2

具体来说,我正在从下面看这个位$this->instances[$abstract],但我不确定isset($this->instances[$abstract]如何被评估为true,即使索引似乎不存在。< / p>

Illuminate\Container\Container

public function make($abstract, array $parameters = [])
{
    $abstract = $this->getAlias($this->normalize($abstract));

    if (isset($this->instances[$abstract])) {
        return $this->instances[$abstract]; // <-- this!
    }
   ...
}

数组属性$instances没有设置$abstract索引,但它仍然返回适当的服务。就我而言,$abstractcache,返回的对象为Illuminate\Cache\CacheManager。这有什么神奇之处?

下面Cache::has($key)来电时的Xdebug断点。显示$this->instances$abstractcache

xdebug

0 个答案:

没有答案