Zum Inhalt springen

Femanager und PHP7

Erstellt am 10. Juni 2016 · 5 Antworten · letzte Antwort am 12. Dezember 2017

Tags: Frage

Cowboy ·

Hallo zusammen,
hat jemand Probleme mit Femanager und Femanagerextended unter PHP 7 ?

Ich bekomme beim Aufruf folgende Fehlermeldung:

#1289386765: Could not analyse class: "In2code\Femanagerextended\Controller\NewController" maybe not loaded or no autoloader? PHP Warning: Declaration of In2code\Femanagerextended\Controller\NewController::createAction(In2code\Femanagerextended\Domain\Model\User $user) should be compatible with In2code\Femanager\Controller\NewController::createAction(In2code\Femanager\Domain\Model\User $user) in PATH\typo3conf\ext\femanagerextended\Classes\Controller\NewController.php line 17

Ich vermute es kommmt von der ext_typoscript_setup.txt und config.tx_extbase.objects.

config.tx_extbase{
	persistence{
		classes{
			In2code\Femanager\Domain\Model\User {
				subclasses {
					0 = In2code\Femanagerextended\Domain\Model\User
				}
			}
            In2code\Femanagerextended\Domain\Model\User {
				mapping {
					tableName = fe_users
					recordType = 0
				}
			}
		}
	}
	objects {
        In2code\Femanager\Controller\NewController.className = In2code\Femanagerextended\Controller\NewController
        In2code\Femanager\Controller\EditController.className = In2code\Femanagerextended\Controller\EditController

        In2code\Femanager\Domain\Validator\ServersideValidator.className = In2code\Femanagerextended\Domain\Validator\CustomServersideValidator
        In2code\Femanager\Domain\Validator\ClientsideValidator.className = In2code\Femanagerextended\Domain\Validator\CustomClientsideValidator
	}
}

Hat jemand vielleicht eine Lösung?

einpraegsam.​net ·

"In2code\Femanagerextended\Controller\NewController" maybe not loaded or no autoloader?

Das liegt wohl daran, dass die Datei nicht eingebunden wurde.
Je nachdem wie du TYPO3 installiert hast (Composer oder nicht) und wie die Extension femanagerextended eingebunden wurde, werden die Klassen nicht geladen.
Darüber hinaus musst du auch die Ordner und Dateinamen mit dem Namespace abgleichen.

Cowboy ·

Unter PHP 5.6 funktioniert alles normal.
Keinerlei Probleme etc.
Nur wenn ich auf PHP 7 umstelle geht dies los.

Meine composer.json sieht wie folgt aus zum einbinden:

  "autoload": {
    "psr-4": {
      "In2code\\Femanagerextended\\": "Classes/"
    }
  }