每天laravel-20160818| Container -21

原创 2016年05月31日 09:21:35
    /**
     * Fire all of the resolving callbacks.
     *
     * @param  string  $abstract
     * @param  mixed   $object
     * @return void
     */
    // Fire all of the resolving callbacks.
    protected function fireResolvingCallbacks($abstract, $object)
    {// fire Resolving Callbacks
        $this->fireCallbackArray($object, $this->globalResolvingCallbacks);
        // fireCallbackArray is a function,
        // two parameters
        $this->fireCallbackArray(
            $object, $this->getCallbacksForType(
                $abstract, $object, $this->resolvingCallbacks
            )
        );// set the fire Call back Array

        $this->fireCallbackArray($object, $this->globalAfterResolvingCallbacks);
            // fire two
        $this->fireCallbackArray(
            $object, $this->getCallbacksForType(
                $abstract, $object, $this->afterResolvingCallbacks
            )
        );// fire third
    }// this is a fire function to make it

    /**
     * Get all callbacks for a given type.
     *
     * @param  string  $abstract
     * @param  object  $object
     * @param  array   $callbacksPerType
     *
     * @return array
     */
    // Get all callbacks for a given type.
    protected function getCallbacksForType($abstract, $object, array $callbacksPerType)
    {// this is abstract parameters
        // object
        // array call backs Per Type
        $results = [];// has a array store

        foreach ($callbacksPerType as $type => $callbacks) {// loop the result
            if ($type === $abstract || $object instanceof $type) {
                $results = array_merge($results, $callbacks);// combine the  array
            }
        }

        return $results;
    }

    /**
     * Fire an array of callbacks with an object.
     *
     * @param  mixed  $object
     * @param  array  $callbacks
     * @return void
     */
    protected function fireCallbackArray($object, array $callbacks)
    {
        foreach ($callbacks as $callback) {
            $callback($object, $this);
        }
    }// fire an array callbacks with an object.

    /**
     * Determine if a given type is shared.
     *
     * @param  string  $abstract
     * @return bool
     */
    public function isShared($abstract)// check shared status
    {
        $abstract = $this->normalize($abstract);// first get a normal string that i need

        if (isset($this->instances[$abstract])) {
            return true;
        }// if it is done, ok return it

        if (! isset($this->bindings[$abstract]['shared'])) {
            return false;
        }// if it can't be bound it

        return $this->bindings[$abstract]['shared'] === true;
        // if set ,get the result about shared
    }

    /**
     * Determine if the given concrete is buildable.
     *
     * @param  mixed   $concrete
     * @param  string  $abstract
     * @return bool
     */
    protected function isBuildable($concrete, $abstract)
    {
        return $concrete === $abstract || $concrete instanceof Closure;
    }// Determine if the given concrete is buildable.
版权声明:随便转载了..............

Laravel 4 IoC Container

IoC stands for Inversion of Control, and it is effectively just a fancy way of describing a concept ...

Laravel源码解析二 【服务容器Container】

上一节是关于laravel的一次请求的生命周期经过的过程来讲的。 这一节讲一下laravel的核心东西,-Container容器。首先,推荐你们先去看一下学院君的Laravel 服务容器实例教程 —...

关于laravel Container 的最初想法

关于laravel Container 的最初想法初学laravel框架,感觉很烦,各种调用 目前虽然没开始项目,但是记录一些东西 总是好的 对于laravel容器IoC的一些理解,自己的理解...

每天进步一点点——磁盘损坏导致container-sync服务退出(Swift Bug )

分布式集群中的swift服务状态监控让我们发现了一个swift的小Bug
  • cywosp
  • cywosp
  • 2014年04月16日 15:14
  • 5495

每天laravel-简单的运行流程

摘要: 每天laravel-简单的运行流程 第一天:开始学习laravel 框架 首先 了解 laravel的运行流程   第一步:包含自动加载文件 require __DIR__.'...
  • mei_520
  • mei_520
  • 2017年06月02日 08:59
  • 228

[李景山php]每天laravel-20161126|MigrateCommand.php

每天laravel

第一天:开始学习laravel 框架 首先 了解 laravel的运行流程 第一步:包含自动加载文件 require __DIR__.'/../bootstrap/autoload.php'; ...

[李景山php]每天laravel[004]-自动加载函数流程之composer autoload_real.php

我们探索了 从 1 app/public/index.php 开始 2 加载 bootstrap /autoload.php 文件 3 然后加载到 vendor / autoload.php文件...

[李景山php]每天laravel-20161131|BelongsToMany.php-3

/** * Save a new model and attach it to the parent model. * * @param \Illuminate\Dat...

[李景山php]每天laravel-20161130|BelongsToMany.php-2

/** * Get the pivot attributes from a model. * * @param \Illuminate\Database\Eloquen...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:每天laravel-20160818| Container -21
举报原因:
原因补充:

(最多只允许输入30个字)