migliori / power-lite-pdo
PowerLitePdo是一个PDO包装器,它提供了一种简单而强大的方式与数据库进行交互。
1.1.1
2024-09-28 16:24 UTC
Requires
- php: >=7.4
- php-di/php-di: ^6.4.0
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.4
- rector/rector: ^1.0
README
PowerLite PDO是一个轻量级、功能强大的PHP库,它通过PHP数据对象(PDO)提供了一种简单高效的方式与数据库进行交互。它支持多种数据库驱动程序,并包括易于连接管理、查询执行、结果处理和分页等功能。
目录
功能
- 容器化连接:容器用于连接数据库并无缝处理配置和依赖关系。
- Db和QueryBuilder方法:使用Db方法或流畅的QueryBuilder执行SQL查询并检索结果。
- 高效的结果处理:使用专用方法获取单行、所有行或特定列的值。
- 全面的数据库操作:提供广泛的数据库交互方法。
- 分页支持:使用Pagination类轻松处理分页结果。
- 错误管理:用户友好的数据库错误和异常处理。
- 调试模式:提供详细请求信息,用于调试目的。
- 预处理语句:支持预处理语句以防止SQL注入攻击。
- 事务控制:使用开始、提交和回滚方法管理数据库事务。
- 高代码质量标准:代码遵循最佳实践和编码标准。
要求
PHP ^7.4, PHP 8.x
文档
PowerLite PDO的文档可在PowerLite PDO网站上找到。
除了文档外,还可以在此处找到更详细的类、方法和其参数的PHPDoc:这里。
安装
克隆/下载或使用Composer安装
composer require migliori/power-lite-pdo
配置
在您的代码编辑器中打开src/connection.php
,并将常量的值替换为您的数据库连接设置(DB_HOST、DB_NAME、DB_USER、DB_PASS、DB_PORT、DB_CHARSET)。
安全顾虑
为了增强安全性,请将文件存储在您的Web服务器文档根目录之外(该目录被提供到互联网上),并在配置文件(src/config.php
)中相应地更改路径。这可以防止文件通过URL直接访问。
使用/示例
使用主Db类选择记录
-
包含引导文件,并从容器中获取Db实例
use Migliori\PowerLitePdo\Db; // Build the container and connect to the database $container = require_once __DIR__ . '/vendor/migliori/power-lite-pdo/src/bootstrap.php'; $db = $container->get(Db::class);
-
使用Db类的select方法选择一些记录
$from = 'users'; // The table name $fields = ['id', 'username', 'email']; // The columns you want to select $where = ['status' => 'active']; // The conditions for the WHERE clause $db->select($from, $fields, $where);
-
逐个获取选定的记录
while ($record = $db->fetch()) { echo $record->id . ', ' . $record->username . ', ' . $record->email . "\n"; }
使用流畅的QueryBuilder选择记录
-
包含引导文件,并从容器中获取QueryBuilder实例
use Migliori\PowerLitePdo\Query\QueryBuilder; // Build the container and connect to the database $container = require_once __DIR__ . '/vendor/migliori/power-lite-pdo/src/bootstrap.php'; $queryBuilder = $container->get(QueryBuilder::class);
-
使用QueryBuilder选择一些记录
$queryBuilder->select(['id', 'username', 'email'])->from('users')->where(['status' => 'active'])->execute();
-
逐个获取选定的记录
while ($record = $queryBuilder->fetch()) { echo $record->id . ', ' . $record->username . ', ' . $record->email . "\n"; }
使用分页选择记录
-
包含引导文件,并从容器中获取Pagination实例
use Migliori\PowerLitePdo\Pagination; // Build the container and connect to the database $container = require_once __DIR__ . '/vendor/migliori/power-lite-pdo/src/bootstrap.php'; $pagination = $container->get(Pagination::class);
-
选择一些记录
$from = 'users'; // The table name $fields = ['id', 'username', 'email']; // The columns you want to select $where = ['status' => 'active']; // The conditions for the WHERE clause $pagination->select($from, $fields, $where);
-
逐个获取选定的记录
while ($record = $pagination->fetch()) { echo $record->id . ', ' . $record->username . ', ' . $record->email . "\n"; }
-
显示分页
$url = '/users'; // The URL for the pagination links echo $pagination->pagine($url);
运行测试
要运行测试,请运行以下命令
php ./vendor/bin/phpunit test
依赖关系
- Composer:PHP的依赖关系管理工具。
- PHP-DI:PHP的依赖注入容器。
- PDO:用于访问数据库的PHP数据对象扩展。
- 数据库驱动程序:您要连接的数据库的特定驱动程序(例如,MySQL、PostgreSQL、Oracle、Firebird等)。
开发依赖项
- PHPUnit:一个用于单元测试PHP代码的测试框架。
- PHPStan:一个静态分析工具,有助于在PHP代码中查找错误。
- PHP CodeSniffer:一组规则,确保PHP代码遵循编码标准。
贡献
欢迎贡献力量!
请与我们联系,提出改进建议或发送您的拉取请求