您的位置:首页 > 编程语言 > PHP开发

每天laravel-20160820| ContextualBinding

2016-06-02 10:17 543 查看
<?php

namespace Illuminate\Container;

use Illuminate\Contracts\Container\ContextualBindingBuilder as ContextualBindingBuilderContract;

class ContextualBindingBuilder implements ContextualBindingBuilderContract
{
/**
* The underlying container instance.
*
* @var \Illuminate\Container\Container
*/
protected $container;// The underlying container instance

/**
* The concrete instance.
*
* @var string
*/
protected $concrete;// a instance about concrete

/**
* The abstract target.
*
* @var string
*/
protected $needs;// a target about the abstract

/**
* Create a new contextual binding builder.
*
* @param  \Illuminate\Container\Container  $container
* @param  string  $concrete
* @return void
*/
public function __construct(Container $container, $concrete)
{
$this->concrete = $concrete;
$this->container = $container;// set the
}

/**
* Define the abstract target that depends on the context.
*
* @param  string  $abstract
* @return $this
*/
public function needs($abstract)
{
$this->needs = $abstract;

return $this;
}// function is needs

/**
* Define the implementation for the contextual binding.
*
* @param  \Closure|string  $implementation
* @return void
*/
public function give($implementation)
{
$this->container->addContextualBinding($this->concrete, $this->needs, $implementation);
}// Define the implementation for the contextual binding
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: