TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

Was ein Durcheinander...


Autor Nachricht
Verfasst am: 29. 10. 2009 [07:50]
froemken
Themenersteller
Dabei seit: 30.01.2007
Beiträge: 740
Hallo zusammen,

FLOW, Fluid, ExtBase, ExtJS sind Worte, die mir nicht geläufig sind. Da wollte ich mich gestern mal mit dem Thema Templating beschäftigen und da läuft mir das Wort Fluid über die Finger. Im Quellcode aber sind Massig Classen ala tx_extbase...::registerPlugin. Demnach baut Fluid auf Extbase auf, aber deshalb finde ich noch lange nicht mehr Dokumentationen darüber.
Jetzt habe ich eine Doku zu FLOW gefunden. Ist das jetzt die Basis von Extbase und hat ExtBase was mit ExtJS zu tun?

Kann irgendjemand dieses Durcheinander lösen?

Stefan

All meine TYPO3-Problemlösungen und Hilfestellungen landen hier:
http://typo3.sfroemken.de
ProfilWWW
Verfasst am: 29. 10. 2009 [08:05]
just2b
TYPO3-Gott
Moderator
Dabei seit: 04.08.2004
Beiträge: 19047
Hallo,

FLOW3 ist ein eigenständiges PHP-Framework, das auch TYPO3 5.0 benützen wird. Das Templating-System von FlOW3 wurde eigens entwickelt und nennt sich fluid.

Da Version 5.0 noch einige Zeit brauchen wird, aber schon jetzt Entwickler die neuen Technologien kennen lernen sollen und der Umstieg möglichst einfach zwischen 4.x und 5.0 sein soll, werden Teile von FLOW3 auf TYPO3 4.x portiert. Dazu gehören eben auch extbase (das die Basis des ganzen unter 4.x ist) und fluid.

Du kannst also schon jetzt (zumindest mit der 4.3) Extensions beinahe so schreiben wie es mit 5.0 sein wird und diese lassen sich dann auch einfach auf 5.0 portieren.

Nun klarer?
Georg

=> TYPO3 - inspiring people to share <= aber kein Support per PM!

=> in eigener Sache: · inspiring people to share your location Trag dich in die TYPO3 Weltkarte ein und zeige wie groß die TYPO3 Community ist - vielen Dank!<=
ProfilWWW
Verfasst am: 29. 10. 2009 [08:25]
froemken
Themenersteller
Dabei seit: 30.01.2007
Beiträge: 740
Danke Dir. Ich hab das mal mit eigenen Worten und ein paar weiteren Infos niedergeschrieben:

OK...FLOW3 ist das PHP-Framework. Heißt: FLOW3 ist das fette Teil, dass jetzt/in Zukunft Daten, die über Objekte definiert/gesetzt werden, nahezu von selbst in die Datenbank schreibt. So zumindest die beiden Videos von Herrn Kurfürst und Rau.

ExtBase ist eine Klasse. Ein Teil von FLOW3 also. "ext" steht für Extension und ist demnach die neue Klasse mit Funktionen zur Integration von Extensions in TYPO3. Demnach also die neue class.t3lib_extmgm.php.

ExtJS ist ein JavaScript-Framework mit dem z.B. der neue Recycler programmiert wurde. ExtJS ist also für die Usability in TYPO3 zuständig.

Fluid ist ein Templatesystem ähnlich dem von Smarty, außer dass Fluid vollständig auf PHP5-basierenden Systemen läuft und mit viewHelpers nahezu unendlich erweiterbar ist.

Au man, hab grad noch was gefunden: MVC-Framework. Ist das jetzt nur ein anderer Name oder wirklich ein weiteres PHP-Framework.

In der FLOW3-Doku wird PHP 5.3 vorausgesetzt, aber das blog_example läuft bei mir auch unter 5.2.9. Bin da noch etwas verwirrt oder liegt das daran, dass nicht alle Klassen wie z.B. die extbase zwingend 5.3 vorraussetzen?

Stefan

All meine TYPO3-Problemlösungen und Hilfestellungen landen hier:
http://typo3.sfroemken.de
ProfilWWW
Verfasst am: 29. 10. 2009 [08:35]
just2b
TYPO3-Gott
Moderator
Dabei seit: 04.08.2004
Beiträge: 19047
Hallo,

extbase ist lediglich der Konnektor, der im alten 4.x die Möglichkeit schafft, auf fluid + prinzipien von FLOW3 zu setzen! Mit 5.0 brauchts kein extbase mehr.

ExtJS ist ein JS-Framework wie Prototype, Mootools usw und wird im Backend an manchen Stellen eingesetzt und soll mehr werden.

MVC ist die "neue" Art des Programmierens mit Model-View-Controller. Das ist kein Framework aber ein Framework kann das benützen. Alternativen wären das "gute" alte prozedurale.

5.3. wird vorausgesetzt, aber manches/vieles wird wohl unter 5.2.9 laufen, aber besser ist dann auf das zu setzen was vorausgesetzt wird

Georg

=> TYPO3 - inspiring people to share <= aber kein Support per PM!

=> in eigener Sache: · inspiring people to share your location Trag dich in die TYPO3 Weltkarte ein und zeige wie groß die TYPO3 Community ist - vielen Dank!<=
ProfilWWW
Verfasst am: 29. 10. 2009 [10:21]
kolki
Dabei seit: 04.08.2006
Beiträge: 719
Gesundheit! Hat da jemand geniest.
Und ich dachte schon, das alles wären Dinge, die man mit Messer und Gabel essen kann. icon_lol.gif
Nun haben wir wieder etwas dazu gelernt. Danke.
Profil
Verfasst am: 29. 10. 2009 [11:22]
froemken
Themenersteller
Dabei seit: 30.01.2007
Beiträge: 740
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.

All meine TYPO3-Problemlösungen und Hilfestellungen landen hier:
http://typo3.sfroemken.de
ProfilWWW
Verfasst am: 29. 10. 2009 [15:56]
froemken
Themenersteller
Dabei seit: 30.01.2007
Beiträge: 740
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:

PHP
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

All meine TYPO3-Problemlösungen und Hilfestellungen landen hier:
http://typo3.sfroemken.de
ProfilWWW
Verfasst am: 05. 12. 2009 [12:11]
Typo3Einsteiger
Dabei seit: 28.09.2008
Beiträge: 207
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.?
Profil
Verfasst am: 22. 12. 2009 [17:23]
KoS
Dabei seit: 13.08.2008
Beiträge: 7
froemken schrieb:

Mit 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.
Profil
Verfasst am: 23. 12. 2009 [10:38]
froemken
Themenersteller
Dabei seit: 30.01.2007
Beiträge: 740
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

All meine TYPO3-Problemlösungen und Hilfestellungen landen hier:
http://typo3.sfroemken.de
ProfilWWW