70 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace Illuminate\Support\Traits;
 | 
						|
 | 
						|
use Illuminate\Contracts\Container\Container;
 | 
						|
use Illuminate\Support\Fluent;
 | 
						|
 | 
						|
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;
 | 
						|
    }
 | 
						|
}
 |