Hallo Christian,

Am 09.03.15 13:54, schrieb Christian Leicht:
> Der Wahnsinn,
> 
> spielen die Kommentarzeilen jetzt auch eine Rolle?

teilweise. Das @inject ist z.B. wichtig. Google nach "Dependency
Injection". Einmal verstanden willst Du nie wieder ohne DI programmieren.

> 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

Klassennamen UpperCamelCase
Methodennamen lowerCamelCase
Variablen lowerCamelCase

lesbarer Code erleichtert vieles, dazu gehören auch ein paar
Konventionen, die nicht notwendigerweise technisch bedingt sind.
Allerdings gilt bei Extbase Convention over Configuration, insofern noch
ein wichtiger Grund, sich an Bewährtes zu halten.

Marc


> 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


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

Seelandstr. 14-16
D-23569 Lübeck

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

Antwort per Email an