[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