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.
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');