Allow addition of middlewares via entity manager factory

This commit is contained in:
2024-08-06 15:34:53 +02:00
parent 6d5d045581
commit 8c065dbeb1
3 changed files with 3 additions and 1 deletions
Regular → Executable
View File
Regular → Executable
View File
+3 -1
View File
@@ -18,7 +18,7 @@ use RuntimeException;
*/ */
class EntityManagerFactory class EntityManagerFactory
{ {
public static function create(array $params, bool $dev_mode = false) : EntityManager public static function create(array $params, bool $dev_mode = false, array $middlewares = []) : EntityManager
{ {
self::checkRequiredParams($params, ['paths', 'database', 'proxy_dir']); self::checkRequiredParams($params, ['paths', 'database', 'proxy_dir']);
@@ -37,6 +37,8 @@ class EntityManagerFactory
$config = ORMSetup::createAttributeMetadataConfiguration($paths, $dev_mode, $params['proxy_dir'], $cache_adapter); $config = ORMSetup::createAttributeMetadataConfiguration($paths, $dev_mode, $params['proxy_dir'], $cache_adapter);
$config->setAutoGenerateProxyClasses($dev_mode ? AbstractProxyFactory::AUTOGENERATE_ALWAYS : AbstractProxyFactory::AUTOGENERATE_NEVER); $config->setAutoGenerateProxyClasses($dev_mode ? AbstractProxyFactory::AUTOGENERATE_ALWAYS : AbstractProxyFactory::AUTOGENERATE_NEVER);
if ($middlewares) $config->setMiddlewares($middlewares);
$connection = DriverManager::getConnection($params['database'], $config); $connection = DriverManager::getConnection($params['database'], $config);
$em = new EntityManager($connection, $config); $em = new EntityManager($connection, $config);
return $em; return $em;