[TYPO3-german] Extbase macht mich verrückt

Marc Willmann typo3 at marc-willmann.de
Mon Mar 9 11:53:18 CET 2015


Hallo Christian,

ich gebe Georg dahingehend Recht, dass es Dir offenkundig noch an den
Grundlagen des MVC-Programmierens fehlt. Aber wir haben ja alle mal
angefangen. :-)

> 
>     public function showFeuser(){
> 
>             $query = $this->createQuery();
>             $query->statement("SELECT * FROM fe_users LIMIT 1");
>             return $query->execute();
>     }

im Repository. das $query->statement() gewinnt keine Eleganzpreise,
dürfte aber funktionieren.

> einen Datensatz anzeigen lassen.
> Mich bringt das ganze Controller Repository Module Zeugs noch um den
> Verstand. Warum hat man das jetzt so umständlich auf verschiedene
> Dateien verteilt?

Das geht jetzt wirklich in die MVC-Grundlagen; nur so viel: bei größeren
Projekten ist das deutlich übersichtlicher.

> Die Funktion showFeuser() habe ich in der Repository abgelegt.
> 
> Aber wo rufe ich denn die Funktion jetzt auf?
> 
> 
> Wenn ich im Controller nun
> 
>     public function listAction() {
>         $wwlfeuser = $this->WwlfeuserRepository->showFeuser();
>        
>         $this->view->assign('wwlfeuser', $wwlfeuser);
>     }
> 
> 
> verwende, dann bekomme ich nur diese Fehlermeldung:
> 
> Fatal error: Call to a member function showFeuser() on a non-object in
> /home/httpd/xxx/xxx/typo3conf/ext/wwl_feuserfiles/Classes/Controller/WwlfeuserfilesController.php
> on line 50

PHP meckert, dass Du showFeuser() aufrusft, ohne ein passendes Objekt zu
haben. Dein Fehler liegt also bei $this->WwlfeuserRepository (welches
vermutlich in Deinem Controller nicht existiert). Füg also in Deiner
Controllerklasse sowas wie


	 /**
	 * wwlfeuserRepository
	 *
	 * @var \VENDOR\EXTNAME\Domain\Repository\WwlFeuserRepository
	 * @inject
	 */
	protected $wwlfeuserRepository = NULL;

(bitte auch Groß-Kleinschreibung beachten und VENDOR/EXTNAME natürlich
anpassen) und änder in Deinem Code

$this->WwlfeuserRepository  in $this->wwlfeuserRepository

dann könnte das schon besser aussehen. :-)

Marc


-- 
Marc Willmann. TYPO3-Freelancer.
http://www.marc-willmann.de

Seelandstr. 14-16
D-23569 Lübeck

TYPO3 Certified Integrator


More information about the TYPO3-german mailing list