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;
 | |
| 	}
 | |
| 
 | |
| }
 |