Der Wahnsinn,

spielen die Kommentarzeilen jetzt auch eine Rolle?


Dann muss ich in \WWL\WwlFeuserfiles\Domain\Repository\WwlFeuserRepository

WwlFeuserRepository Groß schreiben? oder klein?
Die Datei unter Classes/Domain/Repository heißt aber WwlfeuserfilesRepository.php

Muss das der selbe Name sein wie in den Kommentaren?


Christian



Am 09.03.2015 um 11:53 schrieb Marc Willmann:
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


_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an