38 lines
1.2 KiB
ReStructuredText
38 lines
1.2 KiB
ReStructuredText
|
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');
|
||
|
|