Schlagwort-Archiv: Update

Typo3 Update von Extbase 1.3 Extension für Extbase 6.2: Repository Fehler

Aus aktuellem Anlass (wird derzeit oft gefragt) wollte ich hier kurz einen relativ häufig auftretetenden Fehler

#1: PHP Catchable Fatal Error: Argument 1 passed to TYPO3\CMS\Extbase\Persistence\Repository::__construct() must implement interface TYPO3\CMS\Extbase\Object\ObjectManagerInterface, none given, called in ...

besprechen, der häufig dann Auftritt, wenn man beispielsweise seine Repositories mit der statischen t3lib_div::makeInstance Methode instanziert hat.

Meistens wird diese Methode in ‚initializeActions‘ verwendet.

z.B.:

/**
*
*@var Tx_Mein_Extension_DatenRepository
*/
$protected $datenRepository;

public function initializeAction(){
$this->datenRepository = t3lib_div::makeInstance('Tx_Mein_Extension_DatenRepository');
}

Mit Typo3 6.2 kann man in dem oberen Fall die initializeAction weg lassen es reicht dann folgendes:

/**
*
*@var Tx_Mein_Extension_DatenRepository
*@inject
*/
$protected $datenRepository;

Die @inject Anotation sagt Extbase, dass hier die angegebene Klasse per DependencyInjection eingeladen werden soll.

Es gibt noch ein paar andere Wege dies zu machen, aber ich finde diesen Ansatz am Einfachsten.