Find and browse (or create) a vocabulary that fits your needs, choose the types and properties you need, run our code generator and you're done! You get a fully featured PHP data model including:
- A set of PHP entities with properties, constants (enum values), getters, setters, adders and removers. The class
hierarchy provided by the vocabulary will be translated to a PHP class hierarchy with parents as
abstractclasses. The generated code complies with PSR coding standards ;
- Full, high-quality PHPDoc for classes, properties, constants and methods extracted from the vocabulary ;
- Doctrine ORM or MongoDB ODM attributes mapping including database columns / fields with type guessing, relations with cardinality guessing, class
inheritance (through the
- Data validation through Symfony Validator attributes including data type validation, enum support (choices) and check for required properties ;
- API Platform attributes ;
- Interfaces and Doctrine
- Custom PHP namespace support ;
- List of values provided the vocabulary with PHP Enum classes.
- The code generator is fully configurable and extendable. All features can be deactivated (e.g., the Doctrine mapping generator) and a custom generator can be added (e.g., a Doctrine ODM mapping generator) ;
- The code generator can load previously generated files and add new changes while keeping the user-added ones.
- The generated code can be used as is in a Symfony app (but it will work too in a raw PHP project or any other framework including Laravel and Zend Framework).
Schema.org is a vocabulary representing common data structures and their relations. Schema.org can be exposed as JSON-LD, microdata and RDF. Extracting semantical data exposed in the Schema.org vocabulary is supported by a growing number of companies including Google (Search, Gmail), Yahoo!, Bing and Yandex.
Data models provided by Schema.org are popular and were proven efficient. They cover a broad spectrum of topics including creative works, e-commerce, events, medicine, social networking, people, postal addresses, organization data, places or reviews. Schema.org has its root in a ton of preexisting well designed vocabularies and is successfully used by more and more websites and applications.
Pick schemas applicable to your application, generate your PHP model, then customize and specialize it to fit your needs.
Mapping your app data model to Schema.org structures can be tedious. When using the generator, your data model will be derived from Schema.org. Adding microdata markup to your templates or serializing your data as JSON-LD will not require specific mapping nor adaptation. It's a matter of minutes.
Schema.org improves the interoperability of your applications. Used with hypermedia technologies such as Hydra it's a big step towards the semantic and machine readable web. It opens the way to generic web API clients able to extract and process data from any website or app using such technologies.