New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DDC-1247: Implement AnnotationDriver::addExcludePath #1856
Comments
Comment created by juzna: This behavior really messes with my projects, as it automatically loads all php files. Not just those with classes, but also simple scripts, which can do horrible stuff (e.g. I've got scripts to make changes in the source code!) Annotations should be read without executing the scripts, e.g. by TokenReflection library: https://github.com/Andrewsville/PHP-Token-Reflection |
Comment created by vrtak-cz: pull doctrine/common#176 |
Comment created by hosiplan:
And it is obviousely the wrong one. There is no argument, that could beat the fact, that the result can and should be cached, as it does already. Correct behaviour is much more valuable than few miliseconds on first run.
I don't. They are base classes for the actual tests. I agree they might (or should) be somewhere else, but the fact, that they should not be executed, when readed, stays. |
Comment created by stof: @filip The AnnotationReader is not loading any file. It simply expects a ReflectionClass. The ORM AnnotationDriver expects a path in which it should look for annotated classes, to be able to implement getAllClasses() (as it cannot expect all classes to be already loaded). And btw, the behavior was the same in 2.0 when the reader was using tokenization. |
Comment created by @doctrinebot: A related Github Pull-Request [GH-176] was closed: |
Comment created by @Ocramius: Merged: doctrine/common@d0c1a60 |
Issue was closed with resolution "Fixed" |
Jira issue originally created by user hosiplan:
Hi,
I've been having issues with AnnotationDriver crawling in my directories and loading files.
I have a few classes that require specific libraries loaded, and I don't want the AnnotationDriver to load them.
For example, I have my descendant of PHPUnit_Framework_TestCase in libs and the driver just dies, because PHPUnit is not loaded, and I don't want to load it, to be able to finish the process.
Solution would be add method
AnnotationDriver::addExcludePath
, whose name speaks for itself :)Temporarily, I had to extend the AnnotationDriver and overload the crawling process, which is realy annoing, because I had to copy the whole method with all its exceptions and I would have to maintain it, till this will be in Doctrine. Can be viewed here https://github.com/Kdyby/Framework/blob/master/libs/Kdyby/Doctrine/Mapping/Driver/AnnotationDriver.php
Thanks
Filip
The text was updated successfully, but these errors were encountered: