krubio / perfect-database
符合SOLID原则的数据库连接
v0.1.0
2023-04-25 04:38 UTC
Requires
- php: >=8.0.0
- ext-pdo: *
Requires (Dev)
- codeception/codeception: ^5.0
- codeception/module-asserts: *
- phpstan/phpstan: ^1.10
This package is auto-updated.
Last update: 2024-10-01 00:11:07 UTC
README
简介
这些数据库连接类旨在与SQLite、MSSQL、Postgres、MongoDB和MySQL数据库建立连接。这些类通过PHP数据对象(PDO)扩展提供了一种通用的接口,用于连接不同的数据库。本最终用户文档和用法说明将帮助您在PHP项目中配置和使用SQLiteConnection和MysqlConnection类。
安装
您可以使用Composer安装此包。在项目目录中运行以下命令
composer require krubio/perfect-database
这将下载包及其依赖项,并将包添加到您的composer.json
文件中。
用法
安装包后,您可以通过将它们导入到代码中并创建其实例来使用SqliteConnection和MysqlConnection类。以下是一个示例
<?php require_once 'vendor/autoload.php'; use PerfectApp\Database\SqliteConnection; use PerfectApp\Database\MysqlConnection; // SQLite configuration $config = [ 'path' => 'path/to/database/file', 'options' => [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, ], ]; // Create a SQLite connection $sqliteConnection = new SqliteConnection(); $pdo = $sqliteConnection->connect($config); // MySQL configuration $config = [ 'host' => 'localhost', 'port' => 3306, 'dbname' => 'my_database', 'charset' => 'utf8mb4', 'username' => 'my_username', 'password' => 'my_password', 'options' => [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, ], ]; // Create a MySQL connection $mysqlConnection = new MysqlConnection(); $pdo = $mysqlConnection->connect($config);
请注意,需要vendor/autoload.php
文件来使用Composer的自动加载功能加载包中的类。如果您不使用Composer,则需要手动包含您想要使用的类的文件。
就是这样!现在您可以使用connect
方法返回的PDO对象与数据库进行交互。
示例
$stmt = $pdo->prepare("SELECT * FROM users WHERE id=:id"); $stmt->bindValue(':id', 1, PDO::PARAM_INT); $stmt->execute(); $user = $stmt->fetch(PDO::FETCH_ASSOC);
配置
要使用这些类与数据库建立连接,您需要提供一个包含所需参数的配置数组。配置数组必须包含以下键
对于SqliteConnection
- 'path': SQLite数据库文件的路径。
- 'options': PDO选项数组。(可选)
对于MysqlConnection
- 'host': MySQL服务器的主机名或IP地址。
- 'port': MySQL服务器端口号。
- 'dbname': MySQL数据库名。
- 'charset': 用于连接的字符集。
- 'username': MySQL用户名。
- 'password': MySQL密码。
- 'options': PDO选项数组。(可选)
注意:配置数组必须包含所有必需的键。否则,将抛出InvalidArgumentException异常。