|
|
|
@ -18,7 +18,7 @@ use RuntimeException; |
|
|
|
*/ |
|
|
|
class EntityManagerFactory |
|
|
|
{ |
|
|
|
public static function create(array $params, bool $dev_mode = false, array $middlewares = []) : EntityManager |
|
|
|
public static function create(array $params, bool $dev_mode = false, array $middlewares = [], array $filters = []) : EntityManager |
|
|
|
{ |
|
|
|
self::checkRequiredParams($params, ['paths', 'database', 'proxy_dir']); |
|
|
|
|
|
|
|
@ -26,7 +26,7 @@ class EntityManagerFactory |
|
|
|
// specifying server version explicitly doesn't trigger this connection, which is not
|
|
|
|
// needed for proxy generation
|
|
|
|
if (defined('STDIN') && @$_SERVER['argv'][1] == 'orm:generate-proxies') { |
|
|
|
$params['database']['serverVersion'] = 14; |
|
|
|
$params['database']['serverVersion'] = '14'; |
|
|
|
} |
|
|
|
|
|
|
|
$paths = $params['paths']; |
|
|
|
@ -39,6 +39,10 @@ class EntityManagerFactory |
|
|
|
|
|
|
|
if ($middlewares) $config->setMiddlewares($middlewares); |
|
|
|
|
|
|
|
foreach ($filters as $name => $class) { |
|
|
|
$config->addFilter($name, $class); |
|
|
|
} |
|
|
|
|
|
|
|
$connection = DriverManager::getConnection($params['database'], $config); |
|
|
|
$em = new EntityManager($connection, $config); |
|
|
|
return $em; |
|
|
|
|