The standard package entity manager provider. If the package enables legacy namespaces, the provider simply creates a namespace at Concrete\Package\PackageHandle\Src, and considers all classes found at package/package_handle/src potential entities. If the legacy namespace is not enabled, we look for entities at Concrete\Package\PackageHandle\Entity, which maps to packages/package_handle/src/Entity. Additionally, by default any additional autoloader registries are all considered possible entity locations and namespaces.

A simple, standard package provider; provide a Concrete\Core\Package\Package controller, and a path (or array of paths) to PHP entity classes. This uses the annotation driver.

Use this provider if you wish to store your entity metadata in XML files.

Use this provider if you wish to store your entity metadata in YAML files.


Implement this in your package controller if you'd like to provide a custom entity manager.

Anything implementing the Provider interface is able to delivery one or more entity manager drivers. Currently the Concrete\Core\Package\Package class (extended by all package controllers) is the only object that implements this interface.