ConnectsToDatabase.php
30 lines
| 1 | <?php |
| 2 | |
| 3 | namespace IAWPSCOPED\Illuminate\Database\PDO\Concerns; |
| 4 | |
| 5 | use IAWPSCOPED\Illuminate\Database\PDO\Connection; |
| 6 | use InvalidArgumentException; |
| 7 | use PDO; |
| 8 | /** @internal */ |
| 9 | trait ConnectsToDatabase |
| 10 | { |
| 11 | /** |
| 12 | * Create a new database connection. |
| 13 | * |
| 14 | * @param mixed[] $params |
| 15 | * @param string|null $username |
| 16 | * @param string|null $password |
| 17 | * @param mixed[] $driverOptions |
| 18 | * @return \Illuminate\Database\PDO\Connection |
| 19 | * |
| 20 | * @throws \InvalidArgumentException |
| 21 | */ |
| 22 | public function connect(array $params, $username = null, $password = null, array $driverOptions = []) |
| 23 | { |
| 24 | if (!isset($params['pdo']) || !$params['pdo'] instanceof PDO) { |
| 25 | throw new InvalidArgumentException('Laravel requires the "pdo" property to be set and be a PDO instance.'); |
| 26 | } |
| 27 | return new Connection($params['pdo']); |
| 28 | } |
| 29 | } |
| 30 |