gnu-social/vendor/jms/metadata/README.rst
2021-07-16 19:44:40 +01:00

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