93 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace Illuminate\Database;
 | 
						|
 | 
						|
class ConnectionResolver implements ConnectionResolverInterface
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * All of the registered connections.
 | 
						|
     *
 | 
						|
     * @var array
 | 
						|
     */
 | 
						|
    protected $connections = [];
 | 
						|
 | 
						|
    /**
 | 
						|
     * The default connection name.
 | 
						|
     *
 | 
						|
     * @var string
 | 
						|
     */
 | 
						|
    protected $default;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Create a new connection resolver instance.
 | 
						|
     *
 | 
						|
     * @param  array  $connections
 | 
						|
     * @return void
 | 
						|
     */
 | 
						|
    public function __construct(array $connections = [])
 | 
						|
    {
 | 
						|
        foreach ($connections as $name => $connection) {
 | 
						|
            $this->addConnection($name, $connection);
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Get a database connection instance.
 | 
						|
     *
 | 
						|
     * @param  string|null  $name
 | 
						|
     * @return \Illuminate\Database\ConnectionInterface
 | 
						|
     */
 | 
						|
    public function connection($name = null)
 | 
						|
    {
 | 
						|
        if (is_null($name)) {
 | 
						|
            $name = $this->getDefaultConnection();
 | 
						|
        }
 | 
						|
 | 
						|
        return $this->connections[$name];
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Add a connection to the resolver.
 | 
						|
     *
 | 
						|
     * @param  string  $name
 | 
						|
     * @param  \Illuminate\Database\ConnectionInterface  $connection
 | 
						|
     * @return void
 | 
						|
     */
 | 
						|
    public function addConnection($name, ConnectionInterface $connection)
 | 
						|
    {
 | 
						|
        $this->connections[$name] = $connection;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Check if a connection has been registered.
 | 
						|
     *
 | 
						|
     * @param  string  $name
 | 
						|
     * @return bool
 | 
						|
     */
 | 
						|
    public function hasConnection($name)
 | 
						|
    {
 | 
						|
        return isset($this->connections[$name]);
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Get the default connection name.
 | 
						|
     *
 | 
						|
     * @return string
 | 
						|
     */
 | 
						|
    public function getDefaultConnection()
 | 
						|
    {
 | 
						|
        return $this->default;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Set the default connection name.
 | 
						|
     *
 | 
						|
     * @param  string  $name
 | 
						|
     * @return void
 | 
						|
     */
 | 
						|
    public function setDefaultConnection($name)
 | 
						|
    {
 | 
						|
        $this->default = $name;
 | 
						|
    }
 | 
						|
}
 |