定制 solophp/base-repository 二次开发

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

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

solophp/base-repository

Composer 安装命令:

composer require solophp/base-repository

包简介

Base repository pattern implementation for PHP applications

README 文档

README

Lightweight PHP repository pattern with built-in soft delete, eager loading, and rich criteria syntax.

Latest Version PHP Version License

Features

  • Soft delete with restore/force delete
  • Eager loading (BelongsTo, HasOne, HasMany, BelongsToMany)
  • Rich criteria syntax: operators, BETWEEN, OR/AND groups, and correlated EXISTS via relation dot-notation
  • Named scopes: virtual criteria keys expanded into reusable criteria fragments (ideal for HTTP filters)
  • Built-in aggregations (count, sum, avg, min, max)
  • Translation via withLocale() with optional fallback locale — auto LEFT JOIN, propagates into relations; seedTranslations() fills all locales on create (cross-platform)
  • Transaction helpers with row locking (SELECT ... FOR UPDATE) and cross-process advisory locks (withLock()) for idempotency
  • Custom IDs (UUID, ULID, prefixed) via $autoIncrement = false

Installation

composer require solophp/base-repository

Requirements: PHP 8.3+, Doctrine DBAL ^4.3

Database: any Doctrine DBAL platform. Locking is platform-specific: lockForUpdate() — MySQL/MariaDB, PostgreSQL, Oracle; withLock() advisory locking — MySQL/MariaDB (GET_LOCK) and PostgreSQL (pg_advisory_lock). Other platforms throw on these calls.

Quick Example

class UserRepository extends BaseRepository
{
    protected ?string $deletedAtColumn = 'deleted_at';

    public function __construct(Connection $connection)
    {
        parent::__construct($connection, User::class, 'users');
    }
}

// Usage
$users = $repo->findBy(['status' => 'active'], ['created_at' => 'DESC'], 20, 1);
$repo->delete($id);      // Soft delete
$repo->restore($id);     // Restore

Documentation

📖 Full Documentation

License

MIT

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-06-07

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固