Gesundheit! Hat da jemand geniest.
Und ich dachte schon, das alles wären Dinge, die man mit Messer und Gabel essen kann. #giggle#
Nun haben wir wieder etwas dazu gelernt. Danke.
Was ein Durcheinander...
Ich bin grad am Lesen wie'n Bekloppten. Schau Dir mal die Verzeichnisstruktur an. Was sind Modelle, Repositories, Domänen, Entities, valueObjects, blablabla
Hab nach ner halben Ewigkeit dann herausgefunden, dass das ganze Teil was mit DDD also dem sogenannten Domain-driven Design zu tun hat und erst wenn man das System erkannt hat, dann fängt die Verzeichnisstruktur überhaupt erst an interessant zu werden und DANN erst versteht man auch den Hintergedanken von dem neuen Kickstarter mit seinen Enitäten (ähnlich Objekte, die auch nach der Instanziierung verändert werden können, wie die Telefonnummer einer Person) und value Objects (die nach der Instanziierung selbst nicht mehr geändert werden können, wie zum Beispiel Verträge, die über einen bestimmten Zeitraum festgesetzt wurden).
Zu DDD mal ne gute Doku:
http://ralfw.blogspot.com/2009/09/modelle-fur-geschaftsanwendungen-mit.html
Die Beispiele im Wiki zu MVC sind auch nicht mehr aktuell. Schau Dir mal das Wiki und die blog_example an. Völlig andere Implementierungen.
So ein banales "Hello world"-Example fehlt mir irgendwie. Oder wie fange ich überhaupt an eine solche Extension zu zaubern, denn in den Videos ist schon alles fertig und super schön.
Naja...wird noch viel zu lesen auf mich zukommen.
Au weia...FLOW ist echt der Hammer. Das ersetzt Dir ja die ganzen Objektnamen mit Variablen und erzeugt dadurch eine unwahrscheinlich hohe Flexibilität.
Beispiel: Mein Object heißt: Tx_Sfextbase_Controller_SfextbaseController
Nachdem ich mir das Beispiel aus der blog_example angeschaut habe, habe ich mal ein bissl mit dem Array für die Controller rumgespielt und schwupp erscheint nach Eingabe von:
Tx_Extbase_Utility_Extension::configurePlugin(
$_EXTKEY,
'trallala',
array(
'irgendwas' => 'index',
)
);
folgende Fehlermeldung:
Fatal error: Class 'Tx_Sfextbase_Controller_irgendwasController' not found in C:\xampp_webserver\htdocs\t3lib\class.t3lib_div.php on line 4976
Hier heißt die Klasse auf einmal: Tx_Sfextbase_Controller_irgendwasController
Heißt: Meine Einstellungen oben im Array wirken sich auf ExtBase insofern aus, dass das Framework mit meinen Werten einen Objektnamen generiert und danach sucht. Das muss man sich mal vorstellen. Wahnsinn.
Genau desselbe Prinzip wird bei den Funktionen verwendet. Oben im Array habe ich ja index angegeben. Dieser Name wird automatisch in den Methodennamen "indexAction" umgewandelt. Es können oben im Array mehrere dieser Methoden angegeben werden unter der Berücksichtigung, dass der erste Eintrag = der Methode ist, die per default gestartet werden soll.
Mit diesem Prinzip ist eine völlig neue Art der Programmierung geschaffen.
Herzlichen Glückwunsch
Stefan
Hallo, vielen dank für die aufschlussreichen erklärungen. Durch diesen post habe ich sehr schnell verstanden worum es sich bei extbase, flow3 und fluid handelt.
Nun ist mir nur noch eines unklar. Ich habe gelesen, das flow3 dazu da ist um frontend plugins zu entwickeln. Was ist nun mit dem typo3 backend, kann ich das auch mit flow3 beinflussen d.h. formular und module bauen usw.?
froemken schriebMit diesem Prinzip ist eine völlig neue Art der Programmierung geschaffen.
Nur so neben bei, kann es sein das du noch nie etwas mit Objekt-Orientierter-Programmierung, bzw. du bisher ausschließlich mit Typo3 zu tun hattest?
Dieses Prinzip existier bereits seit längerem, wenn du dir mal andere PHP-Frameworks wie Symfony der Zend-Framework ansiehst. Die beiden und auch noch viele anderen bauen alle auf dem MVC-Prinzip auf und nutzen zumeist auch die gleiche oder ähnliche weise des Funktionsaufrufs.
Ich habe noch nie mit einem PHP-Framework gearbeitet. Symfony kenn ich gar nicht. Von Zend habe ich bisher nur gehört. Überhaupt habe ich vor der Beitragserstellung noch gar nicht mit irgendeinem Framework gearbeitet. Ich kannte zwar solche Sachen wie $$variable-wert, aber ich habe solche Konstrukte noch nie gebraucht, geschweige denn in einer Programmierung gesehen.
OOP mache ich erst seit TYPO3 und so oft es geht versuche ich auch OOP in meinen Extensions anzuwenden.
Naja...bin halt Systemintegrator und nicht Anwendungsentwickler. Dafür dass ich mir den ganzen Kram selbst beigebracht habe...bin ich schon ganz glücklich, was ich bisher so geschafft habe.
Stefan
Hallo zusammen,
ich befasse mich seit ein paar Tagen mit Extbase und der zugehörigen Template-Engine Fluid. In der aktuellen t3n gibts ein Tutorial zum Schreiben einer eigenen Extension in dieser neuen Umgebung. Die Ordnerstruktur sowie alle Dateien habe ich wie beschrieben uebernommen. Am Ende des Artikels heißt es dann "importieren sie die Extension über den Ext-Manager", nur habe ich momentan ja nur die Dateien im ext-Ordner erstellt, und keine .t3x, welche ich importieren koennte. Der neu erstellte Ordner, in meinem Fall "Guestbook", wird im Ext-Manager auch nicht angezeigt?
Bin jetzt schon ne ganze Weile am tuefteln, komme aber leider nicht weiter.
Hoffe hier kann mir geholfen werden ueber Tips waere ich sehr dankbar.
viele Grueße,
.m4isy
Hallo,
die Extension guestbook existiert schon. Beim Ext-Manager "Install extensions wählen" und installieren.
Bei mir funktioniert leider das Beispiel nicht.
Viele Grüße,
mufufu
danke fuer den tip,
aber darum gehts mir eigentlich nicht. es geht darum, eine eigene extension auf basis von extbase/fluid zu schreiben. als basis dazu hab ich das gaestebuch-beispiel aus der aktuellen t3n genommen. ideal waere fuer mich ein tool, mit dem man t3x archive packen kann.
viele grueße
Warum nimmst du nicht die efempty Extension aus dem t3-repository als Basis für deine neue Ext.? Oder verstehe ich dich falsch?
MVC is uralt, nur nicht in der Webwelt 🙂
Hallo zusammen
Kling ja alles superspannend... aber... kann/soll man den nun damit auch Backend Module entwickeln? Falls ja, braucht man dazu immer noch am besten den Kickstarter?
Grüsse
Metaxos