70 lines
1.2 KiB
PHP
Executable File
70 lines
1.2 KiB
PHP
Executable File
<?php namespace Illuminate\Support\Traits;
|
|
|
|
use Illuminate\Support\Fluent;
|
|
use Illuminate\Contracts\Container\Container;
|
|
|
|
trait CapsuleManagerTrait {
|
|
|
|
/**
|
|
* The current globally used instance.
|
|
*
|
|
* @var object
|
|
*/
|
|
protected static $instance;
|
|
|
|
/**
|
|
* The container instance.
|
|
*
|
|
* @var \Illuminate\Contracts\Container\Container
|
|
*/
|
|
protected $container;
|
|
|
|
/**
|
|
* Setup the IoC container instance.
|
|
*
|
|
* @param \Illuminate\Contracts\Container\Container $container
|
|
* @return void
|
|
*/
|
|
protected function setupContainer(Container $container)
|
|
{
|
|
$this->container = $container;
|
|
|
|
if ( ! $this->container->bound('config'))
|
|
{
|
|
$this->container->instance('config', new Fluent);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Make this capsule instance available globally.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function setAsGlobal()
|
|
{
|
|
static::$instance = $this;
|
|
}
|
|
|
|
/**
|
|
* Get the IoC container instance.
|
|
*
|
|
* @return \Illuminate\Contracts\Container\Container
|
|
*/
|
|
public function getContainer()
|
|
{
|
|
return $this->container;
|
|
}
|
|
|
|
/**
|
|
* Set the IoC container instance.
|
|
*
|
|
* @param \Illuminate\Contracts\Container\Container $container
|
|
* @return void
|
|
*/
|
|
public function setContainer(Container $container)
|
|
{
|
|
$this->container = $container;
|
|
}
|
|
|
|
}
|