DDC-897: Make ClassMetadataFactory configurable #5422

Closed
doctrinebot opened this Issue Nov 27, 2010 · 7 comments

2 participants

@doctrinebot

Jira issue originally created by user @beberlei:

It was requested lots of times: ClassMetadataFactory has to be overrideable for some frameworks to operate!

@doctrinebot

Comment created by @beberlei:

Implemented

@doctrinebot

Issue was closed with resolution "Fixed"

@doctrinebot

Comment created by ayhan:

that's really great news.

but i think, the access levels of its class properties and methods should be changed from private to protected or is there are reason for not doing that?
It would make it easier to subclass it, if you p.e. only want to override one method.

@doctrinebot

Comment created by @beberlei:

No, the only methods that should be overwritten are already protected or public.

@doctrinebot

Comment created by ayhan:

thanks for the quick answer.

examples:

  • method getMetadataFor is public and probably candidate #1 to get overwritten... but that's only possible to a certain degree as the subclass cannot access the EntityManager.
  • method getAllMetadata is public, but as the subclass cannot access the initialized property, not really overwrittable.

i might have overlooked something, as i just grabbed the updated version.

@doctrinebot

Comment created by @beberlei:

no, the primary method to be overwritten are:

protected function newClassMetadataInstance($className)
protected function getParentClasses($name)

All the other code should not be touched as it handles the caching loading and such.

@doctrinebot

Comment created by ayhan:

for me it's getMetadataFor :-D as i need another alias mechanism.

but don't get me wrong, i think the changes you already made are sufficent for my case... but it's confusing, therefore the comment.

for the method getParentClasses that you mentioned:

how would you access the driver property in the subclass?

@beberlei beberlei was assigned by doctrinebot Dec 6, 2015
@doctrinebot doctrinebot added this to the 2.0-RC1 milestone Dec 6, 2015
@doctrinebot doctrinebot closed this Dec 6, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment