这是一个对象持久化库和数据映射器抽象层。它提供了一组共享接口和基类,旨在将领域逻辑与特定的对象映射器实现解耦,从而将业务领域层与底层数据访问实现分离开来。
doctrine/persistence 的主要功能包括:Object Mappers, Persistence Abstractions, Data Abstraction Layers, Data Persistence and Storage, Generic Base Mapper Interfaces, Persistence Provider Interfaces, Database Schema Migrations, Database Schema Managers。
doctrine/persistence 的开源替代品包括: doctrine/orm — Doctrine ORM is a PHP object-relational mapper that connects application objects to relational database tables. It… mattes/migrate — This project is a database schema migration engine that provides a command-line interface and a library for managing… doctrine/instantiator — Instantiator is a PHP library designed to create class instances without invoking their constructors. It uses the PHP… threedotslabs/wild-workouts-go-ddd-example — This project is a reference implementation of Domain-Driven Design, Clean Architecture, and Command Query… thuss/standalone-migrations — Standalone Migrations is a Ruby-based utility that provides database schema management and migration capabilities… goravel/goravel — Goravel is a full-featured development scaffold and framework for building web applications, REST APIs, and gRPC…
Doctrine ORM is a PHP object-relational mapper that connects application objects to relational database tables. It uses the data mapper and identity map patterns to decouple the in-memory object model from the database schema, allowing developers to manage data persistence without writing manual SQL. The project features a dedicated object-oriented query language and programmatic builder for retrieving data based on entities rather than tables. It implements a unit-of-work system to track object changes during a request and synchronize them via atomic transactions. The capability surface inc
This project is a database schema migration engine that provides a command-line interface and a library for managing sequential structural changes. It functions as a version control utility for database schemas, enabling the application, reversion, and synchronization of incremental updates across development and production environments. The tool distinguishes itself through a driver-based abstraction layer that supports a wide range of relational and non-relational storage systems. It maintains schema consistency by using a dedicated metadata table to track versions and prevent concurrent up
Instantiator is a PHP library designed to create class instances without invoking their constructors. It uses the PHP Reflection API to allocate objects in memory and initialize them in a predefined state, bypassing standard constructor logic. The project functions as a data hydration tool and a testing helper. It enables the population of PHP objects from external data sources by mapping values directly to properties, regardless of whether those properties are public, protected, or private. This capability allows for the generation of objects in specific internal states for unit tests withou
This project is a reference implementation of Domain-Driven Design, Clean Architecture, and Command Query Responsibility Segregation (CQRS) patterns using the Go programming language. It serves as a sample application to demonstrate how to decouple core domain rules from infrastructure and delivery mechanisms. The system is built as a gRPC microservices architecture, utilizing type-safe communication and service contracts. It implements an event-driven architecture to manage eventual consistency and asynchronous processing, specifically employing the Outbox pattern to ensure reliable messagin