Hallo Alexander,
wenn der Code unten wirklich schon alles ist was deine Extension macht. Macht 
es wenig sinn das in repository und Model zu spalten.
Es geht ja dabei logische einheiten zu trennen und die Übersichtlichkeit zu 
erhöhen. Und eventuell ein paar Sachen wie die Model Validation zu gewinnen.
Wenn das aber gar nicht gebraucht wird sollte man sich meiner Meinung nach 
nicht den overhead antun.

Wenn deine Extension mehr tut z.B. mit verschieden XML Dateien zu hantieren. 
Und deine XML Daten immer einem gewissen Schema entsprechen sollen macht es 
sind 
Model und Repository zu erzeugen.

Das Repository ist eine Abstraktion deines Daten Speichers. Wie ein Bücherregal 
aus dem du Daten raus holen kannst und hinzufügen kannst.
Das Model hingegen beschreibt wie ein Objekt in diesem repository auszusehen 
hat. Und wie es validiert wird. Das ist gut wenn deine XML Dateien immer einen 
gleichen Aufbau haben.
So kannst du Fehlern vorbeugen. Weil die Werte validiert werden.

Du könntest ein XML repository aufbauen das dann z.B. findByName() 
implementiert das dann nach eine datei <name>.xml in einem vorher definierten 
speicher verzeichnis sucht. 
Das repository würde dann das XML einlesen und ein neues Model Object erzeugen. 
Und die werte aus der XML datei zu nehmen und dann auf ein die eigenschaften 
des Objectes zu mappen.

Ich denke bei Größeren projekten gewinnt man viel durch diese extra Schicht von 
repository und Model.
Das Model bietet die Möglichkeit Daten Validierung an einer zentralen stelle 
durchzuführen das repository ermöglicht es das laden uns speichern von Objekten 
zu abstrahieren so das du nur das repository ändern musst falls deine XML 
Dateien plötzlich von einem Webservice kommen oder doch in die SQL Datenbank 
Wandern.

Gruss chris
 
-----Ursprüngliche Nachricht-----
Von: typo3-german-boun...@lists.typo3.org 
[mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von Alexander Averbukh
Gesendet: Mittwoch, 5. März 2014 16:52
An: typo3-german@lists.typo3.org
Betreff: [TYPO3-german] ExtBase. Extension ohne Model?

Hallo zusammen,

ich habe eine ganz einfache Extension geschrieben, die nicht anderes macht, als 
Daten aus einem XML-File auslesen und im Frontent zeigen. 
Benötige ich dafür das Model und Repository? Ich habe das ganze in den 
Controller gepackt. 

class AstroServiceController extends 
\TYPO3\CMS\Extbase\Mvc\Controller\ActionController {
        public function showAction() {
        $extensionClassesPath = 
\t3lib_extMgm::extPath(\t3lib_div::camelCaseToLowerCaseUnderscored($this->extensionName));
        if ($xml = @simplexml_load_file($extensionClassesPath . 
'/xml/astro.xml')) {
            $this->view->assign('zodiacSigns', $xml->ContentBody->ZodiacSign);
        }
        }
}

ist es korrekt oder würdet ihr es anders realisieren?

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

Antwort per Email an