/**
* Add a contextual binding to the container.
*
* @param string $concrete
* @param string $abstract
* @param \Closure|string $implementation
* @return void
*/
public function addContextualBinding($concrete, $abstract, $implementation)
{
$this->contextual[$this->normalize($concrete)][$this->normalize($abstract)] = $this->normalize($implementation);
}// Add a contextual binding to the container.
// a Two dimensional array used to save the implementation value.
/**
* Register a binding if it hasn't already been registered.
*
* @param string $abstract
* @param \Closure|string|null $concrete
* @param bool $shared
* @return void
*/
public function bindIf($abstract, $concrete = null, $shared = false)
{
if (! $this->bound($abstract)) {// this->bound
$this->bind($abstract, $concrete, $shared);// bind the parameter
}
}// check binding , if not has binding it.
/**
* Register a shared binding in the container.
*
* @param string|array $abstract
* @param \Closure|string|null $concrete
* @return void
*/
public function singleton($abstract, $concrete = null)
{
$this->bind($abstract, $concrete, true);// bind the parameter
}// Register a shared binding in the container.
每天laravel-20160803| Container -6
最新推荐文章于 2024-06-15 22:00:00 发布