# schmittjoh/metadata

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/schmittjoh-metadata).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

1,821 stars · 71 forks · PHP · MIT

## Links

- GitHub: https://github.com/schmittjoh/metadata
- awesome-repositories: https://awesome-repositories.com/repository/schmittjoh-metadata.md

## Description

Metadata is a PHP library for loading and managing class, method, and property metadata from inline annotations, YAML, XML, and PHP configuration files. It acts as an object-relational mapping support tool, helping persistence layers and serializers inspect PHP object structures through unified metadata drivers.

The library parses configuration data using specialized drivers to populate internal metadata structures, abstracting disparate data sources into a single consistent interface for inspecting classes and properties. It supports chain-based driver fallback, allowing multiple metadata loading strategies to combine sequentially so the system falls back through different sources until data is found. Additionally, developers can extend the base metadata class hierarchy to store application-specific properties and flags for classes, methods, and properties.

## Tags

### Data & Databases

- [Multi-Source Metadata Loading](https://awesome-repositories.com/f/data-databases/file-storage-and-metadata-management/portable-metadata-storage/yaml-metadata-files/multi-source-metadata-loading.md) — Parses configuration data from annotations, YAML, XML, and PHP files using specialized drivers. ([source](https://github.com/schmittjoh/metadata#readme))
- [Chained](https://awesome-repositories.com/f/data-databases/data-loaders/chained.md) — Chains several metadata loading strategies sequentially so the system falls back through different sources. ([source](https://github.com/schmittjoh/metadata/blob/master/README.md))
- [Configuration Aggregators](https://awesome-repositories.com/f/data-databases/data-source-connectivity-tools/configuration-aggregators.md) — Combines configuration details from annotations and various file formats into a unified internal representation. ([source](https://github.com/schmittjoh/metadata/tree/1.x))
- [Object-Relational Mapping](https://awesome-repositories.com/f/data-databases/object-relational-mapping.md) — Acts as an object-relational mapping support tool helping persistence layers inspect object structures.

### Part of an Awesome List

- [Metadata Management Libraries](https://awesome-repositories.com/f/awesome-lists/devtools/php-libraries/metadata-management-libraries.md) — Loads and manages class, method, and property metadata from PHP annotations, YAML, XML, and PHP configuration files.

### DevOps & Infrastructure

- [Annotation and File Configuration Loading](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/file-based-configuration/configuration-file-loading/annotation-and-file-configuration-loading.md) — Parses configuration data from annotations, YAML, XML, and PHP files to populate runtime structures.

### Programming Languages & Runtimes

- [PHP Annotation Parsers](https://awesome-repositories.com/f/programming-languages-runtimes/class-and-method-annotations/annotation-to-class-mapping/php-annotation-parsers.md) — Reads annotations and configuration files to extract structural metadata for PHP classes and properties.
- [Metadata Extraction](https://awesome-repositories.com/f/programming-languages-runtimes/class-and-method-annotations/metadata-extraction.md) — Extracts configuration details from classes, methods, and properties across different sources. ([source](https://github.com/schmittjoh/metadata#readme))
- [PHP](https://awesome-repositories.com/f/programming-languages-runtimes/class-and-method-annotations/metadata-extraction/php.md) — Extracts metadata from PHP annotations and configuration file formats.
- [Class Metadata Inspection](https://awesome-repositories.com/f/programming-languages-runtimes/class-metadata-inspection.md) — Provides a unified interface for inspecting classes, methods, and property metadata from multiple data sources. ([source](https://github.com/schmittjoh/metadata/blob/master/README.md))
- [Extensible Metadata](https://awesome-repositories.com/f/programming-languages-runtimes/class-method-definitions/class-hierarchies/extensible-metadata.md) — Allows extending base metadata classes to store application-specific properties and flags.
- [Annotation and File Parsing Drivers](https://awesome-repositories.com/f/programming-languages-runtimes/json-parsing/parsing-configuration-files/annotation-and-file-parsing-drivers.md) — Parses configuration data from inline annotations and file formats using specialized drivers.
- [Custom Metadata Classes](https://awesome-repositories.com/f/programming-languages-runtimes/class-metadata-inspection/custom-metadata-classes.md) — Extends base metadata classes to store application-specific properties and flags. ([source](https://github.com/schmittjoh/metadata/tree/1.x))

### Software Engineering & Architecture

- [Driver Fallback Chains](https://awesome-repositories.com/f/software-engineering-architecture/dependency-graph-resolution/concurrent-dependency-resolution/multi-source-dependency-resolution/fallback-resolution-strategies/extension-fallback-chains/driver-fallback-chains.md) — Combines multiple metadata loading strategies sequentially to fall back through different sources until data is found.
- [Unified Data Representations](https://awesome-repositories.com/f/software-engineering-architecture/unified-data-representations.md) — Abstracts disparate data sources like annotations and configuration files into a single consistent metadata interface.
