Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Metadata is a library for metadata management in PHP

branch: master

some fixes

latest commit f44eefc065
Johannes authored
Octocat-spinner-32 src some fixes December 21, 2013
Octocat-spinner-32 tests some fixes December 21, 2013
Octocat-spinner-32 .gitignore adds composer lock file December 02, 2013
Octocat-spinner-32 .travis.yml fixes coverage name December 15, 2013
Octocat-spinner-32 CHANGELOG.md Update CHANGELOG.md November 06, 2013
Octocat-spinner-32 LICENSE initial commit May 06, 2011
Octocat-spinner-32 README.rst initial commit May 06, 2011
Octocat-spinner-32 composer.json fixes branch alias November 06, 2013
Octocat-spinner-32 composer.lock adds composer lock file December 02, 2013
Octocat-spinner-32 phpunit.xml.dist initial commit May 06, 2011
README.rst

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');
Something went wrong with that request. Please try again.