Typo3 Flow: Unterschied zwischen den Versionen
Aus Vosp.info
F (Diskussion | Beiträge) (→Charakteristia) |
F (Diskussion | Beiträge) |
||
Zeile 9: | Zeile 9: | ||
** template engine | ** template engine | ||
− | + | = FLOW3 und Extbase = | |
− | + | ||
+ | '''Charakteristia''' | ||
+ | |||
* FLOW3 hingegen verwendet einen 128-Bit-Hexadezimalzahl als Kennzeichner. Tatsächlich ist die Implementierung eines solchen Identifikators dem Entwickler überlassen, solange die Eindeutigkeit gewährleistet ist. | * FLOW3 hingegen verwendet einen 128-Bit-Hexadezimalzahl als Kennzeichner. Tatsächlich ist die Implementierung eines solchen Identifikators dem Entwickler überlassen, solange die Eindeutigkeit gewährleistet ist. | ||
Zeile 24: | Zeile 26: | ||
** Herrausfinden eines Datentyps, Parametertyp anhand der Kommentare: also WICHTIG: Typen angeben in Form von @param int $var ansonsten im Zweifel Fehler!!! | ** Herrausfinden eines Datentyps, Parametertyp anhand der Kommentare: also WICHTIG: Typen angeben in Form von @param int $var ansonsten im Zweifel Fehler!!! | ||
− | + | = Verzeichnisstruktur = | |
klare Verzeichnisstruktur ergibt Klassennamenstruktur, etc | klare Verzeichnisstruktur ergibt Klassennamenstruktur, etc | ||
Zeile 64: | Zeile 66: | ||
** Struktur der DB Tabellen | ** Struktur der DB Tabellen | ||
− | = Quellen | + | = fluid = |
+ | |||
+ | <source lang="html"> | ||
+ | <h2>{f:translate( key : 'customers' )}</h2> | ||
+ | <table> | ||
+ | <tr> | ||
+ | <th>{f:translate( key: 'customer.number' )}</th> | ||
+ | <th>{f:translate( key: 'customer.name' )}</th> | ||
+ | </tr> | ||
+ | <f:for each="{customers}" as="customer"> | ||
+ | <tr> | ||
+ | <td>{customer.number}</td> | ||
+ | <td>{customer.name}</td> | ||
+ | </tr> | ||
+ | </f:for> | ||
+ | </table> | ||
+ | </source> | ||
+ | |||
+ | <source lang="php"> | ||
+ | $view->assign('customer', $customer); | ||
+ | |||
+ | </source> | ||
+ | = Quellen = | ||
* [http://www.typo3lexikon.de/typo3-tutorials/extensions/fluid.html deutsches Fluid Tutorial] | * [http://www.typo3lexikon.de/typo3-tutorials/extensions/fluid.html deutsches Fluid Tutorial] | ||
− | * [https://www.mittwald.de/fileadmin/downloads/pdf/dokus/Extbase_Fluid_Dokumentation.pdf Extbase_Fluid_Dokumentation.pdf von mittwald] | + | * [https://www.mittwald.de/fileadmin/downloads/pdf/dokus/Extbase_Fluid_Dokumentation.pdf ausführliche Extbase_Fluid_Dokumentation.pdf von mittwald] |
* [http://wiki.typo3.org/Fluid Fluid englisches Fluid Tutorial] | * [http://wiki.typo3.org/Fluid Fluid englisches Fluid Tutorial] |
Version vom 25. Februar 2013, 20:22 Uhr
Inhaltsverzeichnis
Typo3 V4.3 < * < V5
durch die Extensions extbase und fluid läßt sich schon ab typo3 V4.3 zukunftsicher für typo3 V5 entwickeln!
Aktivierung der schon vorhandenen Extensions im Erweiterungsmanager
- extbase - löst pi_base Klasse ab
- MVC Framework (von flow3) für domainorientierte Erweiterungen
- fluid
- template engine
FLOW3 und Extbase
Charakteristia
- FLOW3 hingegen verwendet einen 128-Bit-Hexadezimalzahl als Kennzeichner. Tatsächlich ist die Implementierung eines solchen Identifikators dem Entwickler überlassen, solange die Eindeutigkeit gewährleistet ist.
- Convention over Configuration - Konvention steht über Konfiguration
- vieles ergibt sich aus der gleichen Namensbildung z.B. Klassennamen ähnlich wenn nicht gleich Tabellennamen
- die Verzeichnisstruktur einer Erweiterung muss die Namensräume der Klassen widerspiegeln und umgekehrt.
- ZB aus der Klassenbezeichnung ergibt sich die Ordnerstruktur Tx_extensionname_Controller_MyProjektController => ext/extensionname/Controller/MyProjektController.php
- MVC
- Datenmodell -- Anwenungsschicht; objektorientiert, Klassen werden in DB(Tabellen) abgebildet
- View
- Controller
- Reflection API
- Herrausfinden eines Datentyps, Parametertyp anhand der Kommentare: also WICHTIG: Typen angeben in Form von @param int $var ansonsten im Zweifel Fehler!!!
Verzeichnisstruktur
klare Verzeichnisstruktur ergibt Klassennamenstruktur, etc
- Classes
- Controller -- hier muss mindestens ein Controller sein
- Domain
- Model -- Klassen bilden das Datenmodel des MVC-Models
- Repository
- Validator
- Views -- Objekte bilden die Präsentationsschicht des MVC-Models
- ViewHelpers -- optional
- Configuration -- Konfigurationsdateien die noch nötig sind
- FlexForms
- TCA -- Table Configuration Array beschreibt das Verhalten der Datenbanktabellen
- z.B die Datentypen inklusive Relationen zwischen Tabellen bzw Objekten
- TypoScript
- Resources
- Private -- die der Besucher nicht direkt lesen darf, evt. mit .htaccess zu schützen
- Templates
- Language
- Layout
- Partial
- Public -- CSS, Images die Besucher direkt lesen dürfen
- Private -- die der Besucher nicht direkt lesen darf, evt. mit .htaccess zu schützen
- ext_emconf.php
- wird vom Extensionmanager gelesen
- Informationen über Erweiterung, Versionsnummer, Autor, Einstellungen/Konflikte über Abhängigkeiten zu anderen Erweiterungen.
- ext_localconf.php
- wird bei jedem Frontend-, Backendseitenaufruf gelesen
- Konfiguration
- ext_tables.php
- Erweiterung der ext_loclconf.php zB. Datenbanktabelleninformation
- ext_tables.sql
- Struktur der DB Tabellen
fluid
<h2>{f:translate( key : 'customers' )}</h2>
<table>
<tr>
<th>{f:translate( key: 'customer.number' )}</th>
<th>{f:translate( key: 'customer.name' )}</th>
</tr>
<f:for each="{customers}" as="customer">
<tr>
<td>{customer.number}</td>
<td>{customer.name}</td>
</tr>
</f:for>
</table>
$view->assign('customer', $customer);