SQLite PHP:建立到SQLite数据库的连接
PHP默认包含SQLite扩展,因此无需执行任何配置即可使其与SQLite一起工作。
使用Composer设置PHP项目结构
首先,创建一个名为phpsqliteconnect的项目文件夹和另一个子文件夹app。app文件夹用于存储处理应用程序逻辑和数据库的所有类。
接下来,创建一个新的作曲家。包含以下代码的json文件:
{
"autoload": {
"psr-4": {
"App\\": "app/"
}
}
}
如果你不熟悉作曲家,你可以在这里查看。在PHP中,我们使用composer作为依赖关系管理的工具。composer允许您在我们的项目中声明库,并自动管理更新。
在composer文件中,将应用名称空间映射到/App文件夹。
然后,创建另一个子文件夹db来存储SQLite数据库文件。
之后,打开命令工具,导航到phpsqliteconnect,然后键入以下命令:
composer update
将显示以下消息:
>composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
此外,Composer将创建名为vendor的新文件夹,如以下屏幕截图所示:
最后,创建一个名为index的文件。php,并添加以下代码:
<?php
require 'vendor/autoload.php';
从现在开始,如果你想使用app文件夹中的任何classé,你只需声明并使用它。
建立到SQLite数据库的数据库连接
首先,创建一个新的文件配置。php,并添加一个名为Config的新类,如下所示:
<?php
namespace App;
class Config {
/**
* path to the sqlite file
*/
const PATH_TO_SQLITE_FILE = 'db/phpsqlite.db';
}
常量路径TO_SQLITE文件用于存储驻留在db文件夹中的SQLITE数据库文件的路径。
其次,创建一个新的SQLiteConnection。php文件并添加SQLiteConnection类,如下所示:
<?php
namespace App;
/**
* SQLite connnection
*/
class SQLiteConnection {
/**
* PDO instance
* @var type
*/
private $pdo;
/**
* return in instance of the PDO object that connects to the SQLite database
* @return \PDO
*/
public function connect() {
if ($this->pdo == null) {
$this->pdo = new \PDO("sqlite:" . Config::PATH_TO_SQLITE_FILE);
}
return $this->pdo;
}
}
要建立到SQLite数据库的数据库连接,需要创建PDO类的新实例,并将连接字符串传递给PDO对象的构造函数。
假设SQLite数据库文件位于db文件夹中,则使用以下连接字符串:
sqlite:db/phpsqlite.db
因为您将sqlite数据库文件的路径存储在Config类中,所以只需使用它来构造连接字符串。
请注意,当PHP连接到一个不存在的SQLite数据库时,PHP将创建一个新的SQLite数据库文件。
$pdo用于存储pdo对象的实例。在connect()方法中,检查数据库连接是否已建立。如果没有,则创建PDO对象的新实例,否则返回PDO对象。
将所有类放置到位后,使用以下命令生成自动加载文件:
composer dump-autoload -o
要建立到SQLite数据库的连接,请在索引中使用以下代码。php文件:
<?php
require 'vendor/autoload.php';
use App\SQLiteConnection;
$pdo = (new SQLiteConnection())->connect();
if ($pdo != null)
echo 'Connected to the SQLite database successfully!';
else
echo 'Whoops, could not connect to the SQLite database!';
如果检查db文件夹,您将看到一个名为phpsqlite的文件。数据库创建。
创建PDO的新实例时,如果连接失败,它将始终引发PDO异常。
要处理异常,可以使用try-catch块,如下所示:
try {
$this->pdo = new \PDO("sqlite:" . Config::PATH_TO_SQLITE_FILE);
} catch (\PDOException $e) {
// handle the exception here
}
在本教程中,您学习了如何设置PHP项目结构并建立到SQLite数据库的数据库连接。