kekrozsak/vendor/jms/metadata/schmittjoh-metadata-84088bc
2012-07-23 17:09:03 +02:00
..
src/Metadata Vendor update && Started using DoctrineMigrations 2012-07-23 17:09:03 +02:00
tests Vendor update && Started using DoctrineMigrations 2012-07-23 17:09:03 +02:00
CHANGELOG.md Vendor update && Started using DoctrineMigrations 2012-07-23 17:09:03 +02:00
composer.json Vendor update && Started using DoctrineMigrations 2012-07-23 17:09:03 +02:00
LICENSE Vendor update && Started using DoctrineMigrations 2012-07-23 17:09:03 +02:00
phpunit.xml.dist Vendor update && Started using DoctrineMigrations 2012-07-23 17:09:03 +02:00
README.rst Vendor update && Started using DoctrineMigrations 2012-07-23 17:09:03 +02:00

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

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
    
    use Metadata\MetadataFactory;
    use Metadata\Driver\DriverChain;
    
    $driver = new DriverChain(array(
        /** Annotation, YAML, XML, PHP, ... drivers */
    ));
    $factory = new MetadataFactory($driver);
    $metadata = $factory->getMetadataForClass('MyNamespace\MyObject');