migliori/power-lite-pdo

PowerLitePdo是一个PDO包装器,它提供了一种简单而强大的方式与数据库进行交互。

1.1.1 2024-09-28 16:24 UTC

This package is auto-updated.

Last update: 2024-09-28 16:27:17 UTC


README

Static Badge GPLv3 License GitHub Release

PowerLite PDO是一个轻量级、功能强大的PHP库,它通过PHP数据对象(PDO)提供了一种简单高效的方式与数据库进行交互。它支持多种数据库驱动程序,并包括易于连接管理、查询执行、结果处理和分页等功能。

PowerLite 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类选择记录

  1. 包含引导文件,并从容器中获取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);
  2. 使用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);
  3. 逐个获取选定的记录

    while ($record = $db->fetch()) {
        echo $record->id . ', ' . $record->username . ', ' . $record->email . "\n";
    }

使用流畅的QueryBuilder选择记录

  1. 包含引导文件,并从容器中获取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);
  2. 使用QueryBuilder选择一些记录

    $queryBuilder->select(['id', 'username', 'email'])->from('users')->where(['status' => 'active'])->execute();
  3. 逐个获取选定的记录

    while ($record = $queryBuilder->fetch()) {
        echo $record->id . ', ' . $record->username . ', ' . $record->email . "\n";
    }

使用分页选择记录

  1. 包含引导文件,并从容器中获取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);
  2. 选择一些记录

    $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);
  3. 逐个获取选定的记录

    while ($record = $pagination->fetch()) {
        echo $record->id . ', ' . $record->username . ', ' . $record->email . "\n";
    }
  4. 显示分页

    $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代码遵循编码标准。

贡献

欢迎贡献力量!

请与我们联系,提出改进建议或发送您的拉取请求

许可

GNU通用公共许可证v3.0