awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
doctrine avatar

doctrine/common

0
View on GitHub↗

Common

Doctrine Common is a set of shared libraries that provide foundational capabilities for parsing PHP docblock annotations, managing event-driven communication, and handling typed object collections. At its core, it includes a docblock annotation parser that reads structured metadata from PHP docblock comments, enabling configuration for object-relational mapping and validation rules. It also offers a typed collection abstraction with lazy-loading support, allowing efficient management of object groups through array-like operations.

The library extends these capabilities with an event management system that dispatches and listens to named events, enabling decoupled communication between application components. It includes tools for resolving annotation class names from docblock strings, tokenizing docblock text into parseable tokens, and extracting class metadata from annotations to drive configuration. The collection system provides grouping and lazy-loading proxy patterns to defer element loading until access, improving performance with large datasets.

Additional features include event subscription management for dynamic attachment and detachment of handlers, and a typed collection manager that wraps arrays with methods for iteration and filtering. The documentation covers installation and usage of these components as standalone libraries within the Doctrine ecosystem.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI
www.doctrine-project.org/projects/common.html
↗

Features

  • Typed Data Collections - Manages typed, object-oriented collections with array-like operations and lazy-loading support.
  • PHP Collection Abstractions - Provides typed, object-oriented collection classes with methods for iteration, filtering, and lazy-loading.
  • Annotation-to-Class Mapping - Resolves annotation class names from docblock strings by mapping short names to fully qualified class names.
  • Docblock Metadata Readers - Reads class metadata from docblock annotations to configure object-relational mapping or validation rules.
  • Object Collection Management - Provides typed, object-oriented collections with array-like operations and lazy-loading support.
  • Docblock Parsing - Parses structured metadata from PHP docblock comments using a tokenizer and lexer to extract annotations.
  • Event-Based Communication - Dispatches and listens to named events through a centralized event manager for decoupled communication.
  • PHP Event Dispatchers - Emits and subscribes to custom events so application components can react to state changes.
  • Listener Registries - Manages a registry of event listeners and subscribers for dynamic attachment and detachment of handlers.
  • Docblock Lexers - Tokenizes docblock text into a stream of tokens for building an abstract syntax tree of annotations.
  • Event Subscribers - Subscribes to and emits custom events across the application using an event manager.
  • Collection Proxies - Defers loading of collection elements until accessed, using a proxy pattern for performance with large datasets.
5,807 stars·286 forks·PHP·MIT·18 views

Star history

Star history chart for doctrine/commonStar history chart for doctrine/common

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with Common

These projects share indexed features with Common. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • doctrine/annotationsdoctrine avatar

    doctrine/annotations

    6,738View on GitHub↗

    This project is a PHP docblock annotation parser and reflection metadata tool designed to extract structured metadata from doc-comments and convert them into class instances. It functions as a system for retrieving and managing custom metadata attached to classes, methods, and properties. The library includes a metadata caching system to store parsed results, which reduces the performance overhead associated with repeated reflection calls and string parsing. It also serves as a static analysis utility for validating source code structure and enforcing coding standards through automated docblo

    PHP
    View on GitHub↗6,738
  • doctrine/collectionsdoctrine avatar

    doctrine/collections

    5,979View on GitHub↗

    Doctrine Collections is a PHP library that provides object-oriented abstractions for managing and manipulating groups of objects with array-like functionality. It wraps native PHP arrays in an object-oriented interface, enabling cleaner data manipulation through methods for filtering, mapping, and iteration. The library supports callback-driven transformation, applying a callback to every element and returning a new collection with the transformed values. It also enables criteria expression querying, allowing selection of matching elements by applying a criteria object with comparison express

    PHP
    View on GitHub↗5,979
  • square/ottosquare avatar

    square/otto

    5,122View on GitHub↗

    Otto is an event-driven communication system designed as an event bus for Android applications. It provides a mechanism to decouple application components by routing events between them without requiring direct dependencies. The system is state-aware, meaning it can provide the most recent known value to new subscribers immediately upon registration. It operates as a synchronous event dispatcher, ensuring all registered listeners respond to an object before execution continues. The library includes capabilities for event subscription management and thread execution enforcement to restrict ca

    Java
    View on GitHub↗5,122
  • doctrine/persistencedoctrine avatar

    doctrine/persistence

    4,049View on GitHub↗

    This project is an object persistence library and data mapper abstraction layer. It provides a set of shared interfaces and base classes designed to decouple domain logic from specific object mapper implementations, separating the business domain layer from the underlying data access implementation. The library includes a database schema management and migration tool for defining, versioning, and deploying incremental updates to database structures across different environments. It also functions as a document database mapper, translating object states into structured document formats for sto

    PHPhacktoberfestpersistence
    View on GitHub↗4,049
Compare all 30 related projects→

Frequently asked questions

What does doctrine/common do?

Doctrine Common is a set of shared libraries that provide foundational capabilities for parsing PHP docblock annotations, managing event-driven communication, and handling typed object collections. At its core, it includes a docblock annotation parser that reads structured metadata from PHP docblock comments, enabling configuration for object-relational mapping and validation rules. It also offers a typed collection abstraction with lazy-loading support, allowing efficient…

What are the main features of doctrine/common?

The main features of doctrine/common are: Typed Data Collections, PHP Collection Abstractions, Annotation-to-Class Mapping, Docblock Metadata Readers, Object Collection Management, Docblock Parsing, Event-Based Communication, PHP Event Dispatchers.

Which projects share features with doctrine/common?

Projects with overlapping indexed features include: doctrine/annotations — This project is a PHP docblock annotation parser and reflection metadata tool designed to extract structured metadata… doctrine/collections — Doctrine Collections is a PHP library that provides object-oriented abstractions for managing and manipulating groups… square/otto — Otto is an event-driven communication system designed as an event bus for Android applications. It provides a… doctrine/persistence — This project is an object persistence library and data mapper abstraction layer. It provides a set of shared… spatie/data-transfer-object — This library provides a framework for defining typed, immutable data structures in PHP. It enables developers to… phpdocumentor/reflectiondocblock — ReflectionDocBlock is a PHP docblock parser and doc-comment metadata extractor. It functions as a reflection wrapper…