Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/schmittjoh/metadata

Metadata is a library for metadata management in PHP
https://github.com/schmittjoh/metadata

Last synced: 28 days ago
JSON representation

Metadata is a library for metadata management in PHP

Awesome Lists containing this project

README

        

Metadata is a library for class/method/property metadata management in PHP
==========================================================================

| [Master (2.x)][Master] | [1.x][1.x] |
|:----------------:|:----------:|
| [![Build status][Master image]][Master] | [![Build status][1.x image]][1.x] |
| [![Coverage Status][Master coverage image]][Master coverage] | [![Coverage Status][1.x coverage image]][1.x coverage] |

Overview
--------

This library provides some commonly needed base classes for managing metadata
for classes, methods and properties. The metadata can come from many different
sources (annotations, YAML/XML/PHP configuration files).

The metadata classes are used to abstract away that source and provide a common
interface for all of them.

Usage
-----

The library provides three classes that you can extend to add your application
specific properties, and flags: ``ClassMetadata``, ``MethodMetadata``, and
``PropertyMetadata``

After you have added, your properties in sub-classes, you also need to add
``DriverInterface`` implementations which know how to populate these classes
from the different metadata sources.

Finally, you can use the ``MetadataFactory`` to retrieve the metadata::

```php
getMetadataForClass('MyNamespace\MyObject');
```

[Master image]: https://img.shields.io/travis/schmittjoh/metadata/master.svg?style=flat-square
[Master]: https://travis-ci.org/schmittjoh/metadata
[Master coverage image]: https://img.shields.io/scrutinizer/coverage/g/schmittjoh/metadata/master.svg?style=flat-square
[Master coverage]: https://scrutinizer-ci.com/g/schmittjoh/metadata/?branch=master

[1.x image]: https://img.shields.io/travis/schmittjoh/metadata/1.x.svg?style=flat-square
[1.x]: https://github.com/schmittjoh/metadata/tree/1.x
[1.x coverage image]: https://img.shields.io/scrutinizer/coverage/g/schmittjoh/metadata/1.x.svg?style=flat-square
[1.x coverage]: https://scrutinizer-ci.com/g/schmittjoh/metadata/?branch=1.x