Download the PHP package vox/metadata without Composer
On this page you can find all versions of the php package vox/metadata. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package metadata
PHP Metadata Reader
Easily read php classes metadata using doctrine annotations, php 8 attributes or yaml files. All metadata can be cached using any psr cache solution or doctrine cache, this library is also capable of reading data from proxies created by ocramius proxy manager.
Reads types from typehints (also from php 7.4 properties), docblocks (using @var), return types (typehints and dockblocks) from:
- Classes
- Child classes
- Properties
- Methods
- Method Properties
This lib is also circular dependency safe.
Usage
To read the metadata you need a MetadataFactory instance, you can create it manualy or using the convenient factory methods
Create a metadata factory instance
there are two metadata factory factory methods, one for annotations based and another yaml based
Create annotations metadatada factory:
the constructor may receive one optional parameter, to set debug on or off
Create yaml metadata factory:
Factory method interface
There are several options on these factory methods, read its documentation to understand them
Adding cache for optimization
This library uses jms/metadata implementation to store its metadata, that means that the metadata is fully serializable and cacheable you can create your own cache implementation of Metadata\Cache\CacheInterface however, this package bundles a psr-16 simple cache adapter, see the example:
Creating your own annotations
There are 2 types of annotations you can use, doctrine's or php 8 attributes, look at an example compatible with both in case you want to suport php 7.4 and 8
Reading the metadata
Annotating the class:
Reading the class
All versions of metadata with dependencies
jms/metadata Version ^1
doctrine/annotations Version ^1
symfony/yaml Version ^3
ocramius/proxy-manager Version ^2
psr/simple-cache Version ^1.0
psr/cache Version ^1