Bug #48551

Doctrine semantical error

Added by Jesper Paardekooper over 8 years ago. Updated about 8 years ago.

Status:
Resolved
Priority:
Must have
Assignee:
-
Category:
Core
Start date:
2013-05-26
Due date:
% Done:

100%

Estimated time:
PHP Version:
Has patch:
No
Complexity:

Description

I have a signal&slots implementation for failed login attempts. A repository adds a new Event model everytime this happens.

In Development context this works fine, in Production context it doesn't.

When extending the standard Flow repository, the error is:

Uncaught exception #1337934455 in line 79 of Packages/Framework/TYPO3.Flow/Classes/TYPO3/Flow/Persistence/Repository.php: Could not add object of type "My\App\Domain\Model\Log\Event" 

When extending the doctrine repository, the following exception is thrown:

Uncaught exception in line 640 of Packages/Libraries/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php: [Semantical Error] The annotation "@\TYPO3\Flow\Annotations\Entity" in class My\App\Domain\Model\Log\Event does not exist, or could not be auto-loaded

When debugging the exception the Flow repository throws, it eventually throws the same exception as the doctrine one.

I've tested this on both the current Git master and the beta 3 tag.

Other events that use the same code do work and my model does ofcourse have the correct annotations and use statements.

#1

Updated by Sebastian Kurfuerst over 8 years ago

FYI: this bug seems to be also in http://forum.typo3.org/index.php/t/196946/

#2

Updated by Rens Admiraal over 8 years ago

  • Category changed from Annotations to Core
  • PHP Version deleted (5.4)

I've had a similar issue in a project and did some debugging. Turned out that I could make a new instance of the class right after initializeClassLoader() in the Flow bootstrap. Doctrine DocParser fails in loading the class though, and it seems like Doctrine in some way does not use the classloader from Flow. Needs some more investigation.

I removed the PHP version as I know of people having this issue on 5.3 too, target version is ok as this could even be a blocker for the release.

As a DIRTY workaround you can temporary do an include of the classes in your own Package.php or if you've a customized index.php already you can do it there. Keep in mind to remove those includes when the bug is fixed and only use it to keep your project running for now! It's a dirty fix, but better then running in development context ;-)

#3

Updated by Dennis de Jong over 8 years ago

Same issue here as Rens Admiraal, thanks for the (DIRTY!) workaround tip, that seems to work :)

#4

Updated by Gerrit Code Review over 8 years ago

  • Status changed from New to Under Review

Patch set 1 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/21132

#5

Updated by Gerrit Code Review about 8 years ago

Patch set 1 for branch 2.0 has been pushed to the review server.
It is available at https://review.typo3.org/21644

#6

Updated by Rens Admiraal about 8 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100

Also available in: Atom PDF