DDC-2196: EntityManager can't be extended easily #2764

Closed
opened 2026-01-22 14:02:46 +01:00 by admin · 4 comments
Owner

Originally created by @doctrinebot on GitHub (Dec 14, 2012).

Originally assigned to: @beberlei on GitHub.

Jira issue originally created by user mnapoli:

public static function create($conn, Configuration $config, EventManager $eventManager = null)
{
    // ...
    return new EntityManager($conn, $config, $conn->getEventManager());
}

The EntityManager::create method uses new on the EntityManager class instead of static.

This makes extending that class not practical because we have to rewrite (duplicate) EntityManager::create.

Code could be extendable with:

public static function create($conn, Configuration $config, EventManager $eventManager = null)
{
    // ...
    return new static($conn, $config, $conn->getEventManager());
}
Originally created by @doctrinebot on GitHub (Dec 14, 2012). Originally assigned to: @beberlei on GitHub. Jira issue originally created by user mnapoli: ``` public static function create($conn, Configuration $config, EventManager $eventManager = null) { // ... return new EntityManager($conn, $config, $conn->getEventManager()); } ``` The `EntityManager::create` method uses new on the `EntityManager` class instead of `static`. This makes extending that class not practical because we have to rewrite (duplicate) `EntityManager::create`. Code could be extendable with: ``` public static function create($conn, Configuration $config, EventManager $eventManager = null) { // ... return new static($conn, $config, $conn->getEventManager()); } ```
admin added the Bug label 2026-01-22 14:02:46 +01:00
admin closed this issue 2026-01-22 14:02:47 +01:00
Author
Owner

@doctrinebot commented on GitHub (Dec 14, 2012):

Comment created by mnapoli:

Pull request is here: https://github.com/doctrine/doctrine2/pull/535

@doctrinebot commented on GitHub (Dec 14, 2012): Comment created by mnapoli: Pull request is here: https://github.com/doctrine/doctrine2/pull/535
Author
Owner

@doctrinebot commented on GitHub (Dec 16, 2012):

Comment created by @beberlei:

Its not desired to override the EntityManager, we are currently building a PR to build a decorator for the EntityManager instead. You can decorate the EntityManager yourself.

@doctrinebot commented on GitHub (Dec 16, 2012): Comment created by @beberlei: Its not desired to override the EntityManager, we are currently building a PR to build a decorator for the EntityManager instead. You can decorate the EntityManager yourself.
Author
Owner

@doctrinebot commented on GitHub (Dec 16, 2012):

Issue was closed with resolution "Invalid"

@doctrinebot commented on GitHub (Dec 16, 2012): Issue was closed with resolution "Invalid"
Author
Owner

@doctrinebot commented on GitHub (Dec 16, 2012):

Comment created by mnapoli:

[~beberlei] Shouldn't it be final then?

@doctrinebot commented on GitHub (Dec 16, 2012): Comment created by mnapoli: [~beberlei] Shouldn't it be final then?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: doctrine/archived-orm#2764