dev-master
9999999-dev
The Requires
The Development Requires
Wallogit.com
2017 © Pedro Peláez
Meta is a DSL that enables to represent, traverse and operate on PHP objects., (*1)
Article(1)
MetaModel integrates with Doctrine, but can be connected to anything., (*3)
Article(*)
Category(1).articles
// Will call generateExtract() on all articles Article(*).generateExtract()
Article[author="bob"]
Operators:, (*4)
UserGroup[ users.contains(User(1)) ] UserGroup[ users.count() > 0 ]
CacheService.flush()
MetaModel integrates with containers, registries, anything…, (*5)
MetaModel finds objects in data sources.
You can add any data source by implementing the simple interfaces: ObjectManager or Container., (*6)
Some libraries are already supported natively:, (*7)
Doctrine's Entity Manager: MetaModel\Bridge\Doctrine\EntityManagerBridge, (*8)
$metaModel = new MetaModel(); $metaModel->addObjectManager(new EntityManagerBridge($entityManager));
PHP-DI container: MetaModel\Bridge\PHPDI\PHPDIBridge, (*9)
$metaModel = new MetaModel(); $metaModel->addContainer(new PHPDIBridge($container));
Add your own by submitting a pull request., (*10)
Those are both ideas and work in progress., (*11)
Instead of using phpMyAdmin, or building an admin interface, you can manipulate the DB with high level object queries., (*12)
Advanced replacement for PropertyAccess, e.g. to build forms, templates (Twig?), (*13)
Simplified object queries (from database), (*14)
Paths for anything meta on your model: logs, AOP, ACL (e.g. "User(1) can edit Category(12).articles"), (*15)
Projects using MetaModel:, (*16)