Extbase fluid dokumentation

  • View
    216

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Text of Extbase fluid dokumentation

  • Extensionentwicklung ab TYPO3 4.3

    Entwicklerdokumentation

    Extensionentwicklung ab TYPO3 4.3

    Eine Einfhrung in Extbase und Fluid

    Martin HelmichMittwald CM Service

    Copyright 2010 Mittwald CM ServiceVervielfltigung nur mit ausdrcklicher schriftlicher Genehmigung.

    Mittwald CM Service GmbH und Co. KGKnigsberger Strae 632339 Espelkamp

    URL: http://www.mittwald.deE-Mail: t3doku@mittwald.de

    Seite 1 von 170

  • Extensionentwicklung ab TYPO3 4.3

    Inhalt

    Teil I: Einleitung ..................................................................................................11

    I.1 FLOW3 und Extbase ..............................................................................................12

    I.2 Zielgruppe und Voraussetzungen ...........................................................................13

    Teil II: Design und Architektur ...........................................................................14

    II.1 Grundlegende Konzepte .......................................................................................15

    II.1.1 Objektorientierte Programmierung .....................................................................15II.1.1.1 berblick ....................................................................................................15II.1.1.2 Einfhrung ..................................................................................................16

    II.1.1.2.a Objekte und Klassen ...........................................................................16II.1.1.2.b Datenkapselung ...................................................................................16II.1.1.2.c Beispiel: Objektorientierung in PHP ....................................................17

    II.1.1.3 Vertiefung ...................................................................................................18II.1.1.3.a Sichtbarkeit von Attributen und Methoden .........................................18II.1.1.3.b Statische Methoden und Attribute ......................................................19II.1.1.3.c Vererbung ............................................................................................19II.1.1.3.d Abstrakte Klassen ...............................................................................20II.1.1.3.e Schnittstellen .......................................................................................20

    II.1.2 Domain-Driven Design .......................................................................................22II.1.2.1 Grundlagen .................................................................................................22

    II.1.2.1.a Domnen und Fachmodelle ..................................................................22II.1.2.1.b Kommunikation ...................................................................................22

    Seite 2 von 170

  • Extensionentwicklung ab TYPO3 4.3

    II.1.2.2 Schichtenarchitektur ...................................................................................24II.1.2.3 Das Fachmodell ...........................................................................................25

    II.1.2.3.a Entitten und Wertobjekte ..................................................................25II.1.2.3.b Assoziationen ......................................................................................26II.1.2.3.c Dienste und Module .............................................................................27

    II.1.2.4 Lebenszyklus von Objekten .........................................................................27II.1.2.4.a Aggregate ............................................................................................28II.1.2.4.b Repositories .........................................................................................30II.1.2.4.c Fabriken ...............................................................................................31

    II.1.3 Model-View-Controller-Architektur ....................................................................31II.1.3.1 Grundlagen .................................................................................................31II.1.3.2 Datenmodell ...............................................................................................32II.1.3.3 Prsentation ................................................................................................32II.1.3.4 Steuerung ....................................................................................................33

    II.2 Entwurf der Anwendung .......................................................................................34

    II.2.1 Anforderungen ...................................................................................................34II.2.2 Die Anwendungsdomne ....................................................................................34II.2.3 Klassen und Objekte ..........................................................................................37

    II.2.3.1 Datenmodell ...............................................................................................37II.2.3.2 Repositories ................................................................................................38II.2.3.3 Controller ....................................................................................................38

    II.2.4 Der Datenbankentwurf .......................................................................................39

    Teil III: Erste Schritte in Extbase ........................................................................41

    III.1 Grundlagen von Extbase .....................................................................................42

    III.1.1 Was ist Extbase? ..............................................................................................42III.1.1.1 Grundlagen ................................................................................................42III.1.1.2 Installation von Extbase und Fluid ...........................................................43

    III.1.2 Convention over Configuration .........................................................................43III.1.3 Aufbau einer Extbase-Erweiterung ....................................................................45

    III.1.3.1 Klassen ......................................................................................................46III.1.3.2 Konfiguration ............................................................................................47III.1.3.3 Ressourcen .................................................................................................48

    III.1.4 Wissenswertes ...................................................................................................49

    Seite 3 von 170

  • Extensionentwicklung ab TYPO3 4.3

    III.1.4.1 Data-Mapping ...........................................................................................49III.1.4.2 Die Reflection-API ....................................................................................50

    III.2 Einfhrung in Fluid .............................................................................................52

    III.2.1 Ein Blick zurck ...............................................................................................52III.2.2 Objektorientierte Vorlagen ................................................................................53III.2.3 ViewHelper .......................................................................................................54

    III.3 Anlegen der Extension ........................................................................................57

    III.3.1 Installation des Extbase-Kickstarters ................................................................57III.3.2 Kickstarting der Erweiterung ............................................................................58

    III.3.2.1 Einstieg .....................................................................................................58III.3.2.2 Erstellen der Domnenobjekte ...................................................................59III.3.2.3 Verknpfen der Objekte .............................................................................61III.3.2.4 Manuelle Anpassungen ..............................................................................62III.3.2.5 Dynamisches und statisches Scaffolding .....................................................63

    III.3.3 Installation der Erweiterung .............................................................................64

    III.4 Erste Schritte ......................................................................................................67

    III.4.1 Implementierung des Domnenmodells .............................................................67III.4.1.1 Datenmodell ..............................................................................................67

    III.4.1.1.a Projekte: Die Klasse Project ...........................................................68III.4.1.1.b Benutzerrollen: Die Klasse Role ......................................................74III.4.1.1.c Benutzer: Die Klasse FrontendUser .................................................74III.4.1.1.d Zuweisungen: Die Klasse Assignment ..............................................75III.4.1.1.e Zeitpaare: Die Klasse Timeset .........................................................76III.4.1.1.f Wie alle Klassen zusammenarbeiten ...................................................77

    III.4.1.2 Repositories ...............................................................................................78III.4.2 Der erste Controller ....................................................................................