[TYPO3-german] Extbase macht mich verrückt

Christian Leicht usenet at schani.com
Mon Mar 9 13:54:20 CET 2015


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
>
>


More information about the TYPO3-german mailing list