1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
<?php namespace Illuminate\Database\Connectors;
class SQLiteConnector extends Connector implements ConnectorInterface {
/** * Establish a database connection. * * @param array $config * @return \PDO * * @throws \InvalidArgumentException */ public function connect(array $config) { $options = $this->getOptions($config);
// SQLite supports "in-memory" databases that only last as long as the owning // connection does. These are useful for tests or for short lifetime store // querying. In-memory databases may only have a single open connection. if ($config['database'] == ':memory:') { return $this->createConnection('sqlite::memory:', $config, $options); }
$path = realpath($config['database']);
// Here we'll verify that the SQLite database exists before going any further // as the developer probably wants to know if the database exists and this // SQLite driver will not throw any exception if it does not by default. if ($path === false) { throw new \InvalidArgumentException("Database does not exist."); }
return $this->createConnection("sqlite:{$path}", $config, $options); }
}
|