定制 samsmithkruz/database-handler 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

samsmithkruz/database-handler

最新稳定版本:1.0.0

Composer 安装命令:

composer require samsmithkruz/database-handler

包简介

A reusable database handler supporting SQL & NoSQL.

README 文档

README

A reusable PHP database handler supporting SQL (MySQL, PostgreSQL) and NoSQL (MongoDB, Redis).

Packagist License

Overview

database-handler is a lightweight, flexible, and reusable PHP package that provides a unified interface for interacting with both SQL and NoSQL databases.
It simplifies database operations and supports MySQL, PostgreSQL, MongoDB, and Redis, making it ideal for modern web applications.

Features

Multi-Database Support - Works with MySQL, PostgreSQL, MongoDB, and Redis.
Unified API - Consistent methods across different database types.
PSR-4 Autoloading - Easy to integrate into any PHP project.
Flexible Queries - Raw queries, transactions, and batch operations supported.
Exception Handling - Catches and logs errors gracefully.
Lightweight & Fast - Designed for efficiency with minimal dependencies.

Installation

Install via Composer:

composer require samsmithkruz/database-handler

Configuration

Create a database configuration array based on your preferred database.

MySQL / PostgreSQL Example

use SamsmithKruz\Database\Database;

$config = [
    'driver'   => 'mysql', // or 'pgsql' for PostgreSQL
    'host'     => '127.0.0.1',
    'port'     => 3306,
    'database' => 'test_db',
    'username' => 'root',
    'password' => '',
    'charset'  => 'utf8mb4'
];

$db = new Database($config);

MongoDB Example

use SamsmithKruz\Database\Database;

$config = [
    'driver'   => 'mongodb',
    'uri'      => 'mongodb://127.0.0.1:27017',
    'database' => 'test_db'
];

$db = new Database($config);

Redis Example

use SamsmithKruz\Database\Database;

$config = [
    'driver'   => 'redis',
    'scheme'   => 'tcp', // Optional
    'host' => '127.0.0.1',
    'timeout'   => '0.0', // Seconds
    'port' => 6379
];

$db = new Database($config);

Usage Guide

Insert Data

$data = ['name' => 'John Doe', 'email' => 'john@example.com'];
$db->insert('users', $data);

Find One Record

$user = $db->findOne('users', ['email' => 'john@example.com']);
print_r($user);

Find Multiple Records

$users = $db->findMany('users', ['status' => 'active']);

Update Data

$db->updateOne('users', ['email' => 'john@example.com'], ['status' => 'inactive']);

Delete Data

$db->deleteOne('users', ['email' => 'john@example.com']);

Raw Query (MongoDB)

$query = [['$match' => ['status' => 'active']]];
$results = $db->rawQuery('users', $query);

Running Tests

Ensure you have PHPUnit installed and run:

vendor/bin/phpunit --configuration phpunit.xml

Contributing

We welcome contributions! 🚀

  1. Fork the repository
  2. Create a new feature branch (git checkout -b feature-name)
  3. Make your changes
  4. Submit a pull request

See CONTRIBUTING.md for more details.

License

This package is licensed under the MIT License.
See the LICENSE file for details.

Author

👤 Samuel Benny (Smith Kruz)
🔗 GitHub: samsmithkruz
🔗 LinkedIn: smithkruz

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-04-01