2021-08-27 06:46:27 -04:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Illuminate\Database\PDO\Concerns;
|
|
|
|
|
|
|
|
use Illuminate\Database\PDO\Connection;
|
|
|
|
use InvalidArgumentException;
|
|
|
|
use PDO;
|
|
|
|
|
|
|
|
trait ConnectsToDatabase
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Create a new database connection.
|
|
|
|
*
|
2022-03-14 16:22:30 -04:00
|
|
|
* @param mixed[] $params
|
|
|
|
* @param string|null $username
|
|
|
|
* @param string|null $password
|
|
|
|
* @param mixed[] $driverOptions
|
2021-08-27 06:46:27 -04:00
|
|
|
* @return \Illuminate\Database\PDO\Connection
|
|
|
|
*
|
|
|
|
* @throws \InvalidArgumentException
|
|
|
|
*/
|
2022-03-14 16:22:30 -04:00
|
|
|
public function connect(array $params, $username = null, $password = null, array $driverOptions = [])
|
2021-08-27 06:46:27 -04:00
|
|
|
{
|
|
|
|
if (! isset($params['pdo']) || ! $params['pdo'] instanceof PDO) {
|
|
|
|
throw new InvalidArgumentException('Laravel requires the "pdo" property to be set and be a PDO instance.');
|
|
|
|
}
|
|
|
|
|
|
|
|
return new Connection($params['pdo']);
|
|
|
|
}
|
|
|
|
}
|