[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