SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
FLOW3 Einführung



Christof Rodejohann
Entwickler und Gründer bei

Start-Up im Bereich der Immobilienverwaltung
http://www.renodoku.de


Backend FLOW3



Frontend QOOXDOO (JS Framework)
http://qooxdoo.org/




                        TYPO3Camp Berlin 2012 / Folie: 2
FLOW3 Einführung


Grundprinzipen der Entwicklung mit FLOW3
- Umsetzung von Objektorientierung
- MVC
- Umsetzung von Design Pattern

- Annotations



- An Regeln halten – weniger konfigurieren

- Objekt Framework (z.B. Dependency Injection)

- Datenbank Zugriff via Persistenz Framework

- Fluid Templating Engine
                       TYPO3Camp Berlin 2012 / Folie: 3
FLOW3 Einführung


Grundphilosophie der Entwicklung mit FLOW3
Domain-Driven Design

Basiert auf 2 Annahmen
• Der Schwerpunkt des Softwaredesigns liegt auf der Fachlichkeit und der
Fachlogik.
• Der Entwurf komplexer fachlicher Zusammenhänge sollte auf einem
Fachmodell basieren.

Was ist eine Domäne?
Ein abgrenzbares Problemfeld, Fachgebiet, Geschäftsfeld bzw. Einsatzbereich

Zentrales, wichtigstes Element beim Modellieren ist eine
gemeinsame Sprache => Ubiquitous language

Quelle: http://www.slideshare.net/plobacher/t3-c-2010domaindrivendesignlobacher

                           TYPO3Camp Berlin 2012 / Folie: 4
FLOW3 Einführung


Grundphilosophie der Entwicklung mit FLOW3
Domain-Driven Design




Quelle: http://www.slideshare.net/plobacher/t3-c-2010domaindrivendesignlobacher

                           TYPO3Camp Berlin 2012 / Folie: 5
FLOW3 Einführung


Domain Modelling

UML als Ubiquitous language




                     TYPO3Camp Berlin 2012 / Folie: 6
FLOW3 Einführung


Konsole

FLOW3 laden via Git




FLOW3 Kommandozeile




                      TYPO3Camp Berlin 2012 / Folie: 7
FLOW3 Einführung


Konsole

FLOW3 Package erzeugen




Modell generieren (alle Modelle nach diesem Muster):




                     TYPO3Camp Berlin 2012 / Folie: 8
FLOW3 Einführung


Live Vorführung

Anpassungen des Models, für das, was durch den Kickstarter „vergessen“ wurde.

• Annotation für Beziehung im Model Entry zu Calendar
   * @ORMManyToOne

• Annotation für Ausprägung der Collection mit konkretem Model
   * @var DoctrineCommonCollectionsCollection
      <CrCalendarDomainModelDate>

• Initialisierung der Collection in _construction Phase
   public function __construct() {
         $this->dates = new DoctrineCommonCollectionsArrayCollection();
   }


                      TYPO3Camp Berlin 2012 / Folie: 9
FLOW3 Einführung


Dependency Injection

Entwurfsmuster um die Abhängigkeiten zwischen
Komponenten oder Objekten zu lösen

“Allgemeine Fabrikmethode“




                     TYPO3Camp Berlin 2012 / Folie: 10
FLOW3 Einführung


Packages

FLOW3 ist ein FLOW3 Package – „Beliebig“ zusammenstellbare Packages

Package Importierung von der Konsole für Packages von git.typo3.org




Twitter.Bootstrap Package bietet das CSS Framework und passende Viewhelper

Package Aktivierung nicht vergessen




                      TYPO3Camp Berlin 2012 / Folie: 11
FLOW3 Einführung


Live Vorführung

Generierte Fluid Viewhelper an Bootstrap anpassen

• Neuen Namespace der ViewHelper verfügbar machen
      {namespace bootstrap=TwitterBootstrapViewHelpers}

• Im Header Bootstrap Dateien laden
       <bootstrap:include/>

• Bootstrap Struktur
       <div class="container“>
              <div class="navbar"> […] </div>
       <h2><f:render section="Title"/></h2>
       <f:render section="Content"/>
       </div>

                     TYPO3Camp Berlin 2012 / Folie: 12
FLOW3 Einführung


FLOW3 Admin

https://github.com/mneuhaus/FLOW3-Admin




                   TYPO3Camp Berlin 2012 / Folie: 13
FLOW3 Einführung


Weiterführende Informationen

Offizielle FLOW3 Dokumentation
http://flow3.typo3.org/documentation/guide.html

Fragen IRC #flow3 @Freenode

Beispiel Lern Packages

https://github.com/robertlemke/RoeBooks.Shop
http://git.typo3.org/FLOW3/Packages/TYPO3.Blog.git




                         TYPO3Camp Berlin 2012 / Folie: 14
FLOW3 Einführung auf dem TYPO3Camp Berlin 2012

Weitere ähnliche Inhalte

Andere mochten auch

Newsletter 7 victor Gala 2012
Newsletter 7 victor Gala 2012Newsletter 7 victor Gala 2012
Newsletter 7 victor Gala 2012emotion banking
 
Tren Electrico1932
Tren Electrico1932Tren Electrico1932
Tren Electrico1932guest78b696
 
ODMF Präsentation 2005
ODMF Präsentation 2005ODMF Präsentation 2005
ODMF Präsentation 2005Philipp Sauber
 
Avisos Sabado 24 De Mayo (Final)
Avisos Sabado 24 De Mayo (Final)Avisos Sabado 24 De Mayo (Final)
Avisos Sabado 24 De Mayo (Final)fuerzajoven
 
Twitter - Mit 140 Zeichen zum Kunden (Deutsche Fachpresse Kongress09)
Twitter - Mit 140 Zeichen zum Kunden (Deutsche Fachpresse Kongress09)Twitter - Mit 140 Zeichen zum Kunden (Deutsche Fachpresse Kongress09)
Twitter - Mit 140 Zeichen zum Kunden (Deutsche Fachpresse Kongress09)Nicole Simon
 
El Análisis de Redes aplicado al Cine Español
El Análisis de Redes aplicado al Cine EspañolEl Análisis de Redes aplicado al Cine Español
El Análisis de Redes aplicado al Cine EspañolNicolas Robinson-Garcia
 
Pädagogische Einsatzmöglichkeiten von Handys
Pädagogische Einsatzmöglichkeiten von HandysPädagogische Einsatzmöglichkeiten von Handys
Pädagogische Einsatzmöglichkeiten von HandysMichael Lange
 
EspañOl Para Los Empleados De Los Almacenes Grandes
EspañOl Para Los Empleados De Los Almacenes GrandesEspañOl Para Los Empleados De Los Almacenes Grandes
EspañOl Para Los Empleados De Los Almacenes Grandesjjr65
 
2014 a educacion para la salud_jmmh
2014 a educacion para la salud_jmmh2014 a educacion para la salud_jmmh
2014 a educacion para la salud_jmmhPrepa Cihuatlan
 
Samsung YP-S9 Benutzerhandbuch
Samsung YP-S9 BenutzerhandbuchSamsung YP-S9 Benutzerhandbuch
Samsung YP-S9 Benutzerhandbuchmarco678
 
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungAndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungEduard Hildebrandt
 
Tr Ab Jo De Po We R P Oin2
Tr Ab Jo De Po We R P Oin2Tr Ab Jo De Po We R P Oin2
Tr Ab Jo De Po We R P Oin2anuxii
 
WOLLEN SIE Q1 SCHAUEN?
WOLLEN SIE Q1 SCHAUEN?WOLLEN SIE Q1 SCHAUEN?
WOLLEN SIE Q1 SCHAUEN?marco678
 

Andere mochten auch (20)

Newsletter 7 victor Gala 2012
Newsletter 7 victor Gala 2012Newsletter 7 victor Gala 2012
Newsletter 7 victor Gala 2012
 
Bildung im Netz
Bildung im NetzBildung im Netz
Bildung im Netz
 
Qr codes im da f-unterricht
Qr codes im da f-unterrichtQr codes im da f-unterricht
Qr codes im da f-unterricht
 
Taller 3. Herramientas colaborativas
Taller 3. Herramientas colaborativasTaller 3. Herramientas colaborativas
Taller 3. Herramientas colaborativas
 
Tren Electrico1932
Tren Electrico1932Tren Electrico1932
Tren Electrico1932
 
ODMF Präsentation 2005
ODMF Präsentation 2005ODMF Präsentation 2005
ODMF Präsentation 2005
 
Avisos Sabado 24 De Mayo (Final)
Avisos Sabado 24 De Mayo (Final)Avisos Sabado 24 De Mayo (Final)
Avisos Sabado 24 De Mayo (Final)
 
Twitter - Mit 140 Zeichen zum Kunden (Deutsche Fachpresse Kongress09)
Twitter - Mit 140 Zeichen zum Kunden (Deutsche Fachpresse Kongress09)Twitter - Mit 140 Zeichen zum Kunden (Deutsche Fachpresse Kongress09)
Twitter - Mit 140 Zeichen zum Kunden (Deutsche Fachpresse Kongress09)
 
El Análisis de Redes aplicado al Cine Español
El Análisis de Redes aplicado al Cine EspañolEl Análisis de Redes aplicado al Cine Español
El Análisis de Redes aplicado al Cine Español
 
Brescia2
Brescia2Brescia2
Brescia2
 
Pädagogische Einsatzmöglichkeiten von Handys
Pädagogische Einsatzmöglichkeiten von HandysPädagogische Einsatzmöglichkeiten von Handys
Pädagogische Einsatzmöglichkeiten von Handys
 
EspañOl Para Los Empleados De Los Almacenes Grandes
EspañOl Para Los Empleados De Los Almacenes GrandesEspañOl Para Los Empleados De Los Almacenes Grandes
EspañOl Para Los Empleados De Los Almacenes Grandes
 
2014 a educacion para la salud_jmmh
2014 a educacion para la salud_jmmh2014 a educacion para la salud_jmmh
2014 a educacion para la salud_jmmh
 
Samsung YP-S9 Benutzerhandbuch
Samsung YP-S9 BenutzerhandbuchSamsung YP-S9 Benutzerhandbuch
Samsung YP-S9 Benutzerhandbuch
 
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungAndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
 
SSs
SSsSSs
SSs
 
Tr Ab Jo De Po We R P Oin2
Tr Ab Jo De Po We R P Oin2Tr Ab Jo De Po We R P Oin2
Tr Ab Jo De Po We R P Oin2
 
ZOEPEKES
ZOEPEKESZOEPEKES
ZOEPEKES
 
WOLLEN SIE Q1 SCHAUEN?
WOLLEN SIE Q1 SCHAUEN?WOLLEN SIE Q1 SCHAUEN?
WOLLEN SIE Q1 SCHAUEN?
 
ATIX02
ATIX02ATIX02
ATIX02
 

Ähnlich wie FLOW3 Einführung auf dem TYPO3Camp Berlin 2012

Workshop Extension-Entwicklung mit Extbase und Fluid
Workshop Extension-Entwicklung mit Extbase und FluidWorkshop Extension-Entwicklung mit Extbase und Fluid
Workshop Extension-Entwicklung mit Extbase und FluidSebastian Kurfürst
 
TYPO3 Neos - ein technischer Überblick - DWX 2013
TYPO3 Neos - ein technischer Überblick - DWX 2013TYPO3 Neos - ein technischer Überblick - DWX 2013
TYPO3 Neos - ein technischer Überblick - DWX 2013die.agilen GmbH
 
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)die.agilen GmbH
 
Typo3 cms-6-0-die-neuerungen
Typo3 cms-6-0-die-neuerungenTypo3 cms-6-0-die-neuerungen
Typo3 cms-6-0-die-neuerungenMokhtar Slama
 
Testing TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatTesting TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatMarkus Goldbeck
 
Lokale TYPO3 Entwicklungsumgebung mit DDEV
Lokale TYPO3 Entwicklungsumgebung mit DDEVLokale TYPO3 Entwicklungsumgebung mit DDEV
Lokale TYPO3 Entwicklungsumgebung mit DDEVPeter Kraume
 
Extreme Fluid - Status Quo der modernen Templating Engine
Extreme Fluid - Status Quo der modernen Templating EngineExtreme Fluid - Status Quo der modernen Templating Engine
Extreme Fluid - Status Quo der modernen Templating Enginedie.agilen GmbH
 
Extbase & Fluid Einführung - MTUG - Patrick Lobacher
Extbase & Fluid Einführung - MTUG - Patrick LobacherExtbase & Fluid Einführung - MTUG - Patrick Lobacher
Extbase & Fluid Einführung - MTUG - Patrick Lobacherdie.agilen GmbH
 
Composer und TYPO3
Composer und TYPO3Composer und TYPO3
Composer und TYPO3Peter Kraume
 
TYPO3 Usergroup Dresden - TYPO3 & Composer
TYPO3 Usergroup Dresden - TYPO3 & ComposerTYPO3 Usergroup Dresden - TYPO3 & Composer
TYPO3 Usergroup Dresden - TYPO3 & ComposerAxel Böswetter
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions
 
Extbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobierenExtbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobierenSpeedPartner GmbH
 
TYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der ZukunftTYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der ZukunftJochen Rau
 
Typo3 4.3 Die Neuerungen im Überblick
Typo3 4.3 Die Neuerungen im ÜberblickTypo3 4.3 Die Neuerungen im Überblick
Typo3 4.3 Die Neuerungen im Überblickdie.agilen GmbH
 
TYPO3 CMS 7.5 - Die Neuerungen - pluswerk
TYPO3 CMS 7.5 - Die Neuerungen - pluswerkTYPO3 CMS 7.5 - Die Neuerungen - pluswerk
TYPO3 CMS 7.5 - Die Neuerungen - pluswerkdie.agilen GmbH
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker ContainerAndreas Koop
 

Ähnlich wie FLOW3 Einführung auf dem TYPO3Camp Berlin 2012 (20)

Workshop Extension-Entwicklung mit Extbase und Fluid
Workshop Extension-Entwicklung mit Extbase und FluidWorkshop Extension-Entwicklung mit Extbase und Fluid
Workshop Extension-Entwicklung mit Extbase und Fluid
 
TYPO3 Neos - ein technischer Überblick - DWX 2013
TYPO3 Neos - ein technischer Überblick - DWX 2013TYPO3 Neos - ein technischer Überblick - DWX 2013
TYPO3 Neos - ein technischer Überblick - DWX 2013
 
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
 
Typo3 cms-6-0-die-neuerungen
Typo3 cms-6-0-die-neuerungenTypo3 cms-6-0-die-neuerungen
Typo3 cms-6-0-die-neuerungen
 
Testing TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatTesting TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with Behat
 
Lokale TYPO3 Entwicklungsumgebung mit DDEV
Lokale TYPO3 Entwicklungsumgebung mit DDEVLokale TYPO3 Entwicklungsumgebung mit DDEV
Lokale TYPO3 Entwicklungsumgebung mit DDEV
 
TYPO3 Neos in der Praxis
TYPO3 Neos in der PraxisTYPO3 Neos in der Praxis
TYPO3 Neos in der Praxis
 
FLOW3-Workshop F3X12
FLOW3-Workshop F3X12FLOW3-Workshop F3X12
FLOW3-Workshop F3X12
 
Extreme Fluid - Status Quo der modernen Templating Engine
Extreme Fluid - Status Quo der modernen Templating EngineExtreme Fluid - Status Quo der modernen Templating Engine
Extreme Fluid - Status Quo der modernen Templating Engine
 
Extbase & Fluid Einführung - MTUG - Patrick Lobacher
Extbase & Fluid Einführung - MTUG - Patrick LobacherExtbase & Fluid Einführung - MTUG - Patrick Lobacher
Extbase & Fluid Einführung - MTUG - Patrick Lobacher
 
Composer und TYPO3
Composer und TYPO3Composer und TYPO3
Composer und TYPO3
 
T3 ak11 flow3_aop
T3 ak11 flow3_aopT3 ak11 flow3_aop
T3 ak11 flow3_aop
 
TYPO3 Usergroup Dresden - TYPO3 & Composer
TYPO3 Usergroup Dresden - TYPO3 & ComposerTYPO3 Usergroup Dresden - TYPO3 & Composer
TYPO3 Usergroup Dresden - TYPO3 & Composer
 
Symfony2
Symfony2Symfony2
Symfony2
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09
 
Extbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobierenExtbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobieren
 
TYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der ZukunftTYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der Zukunft
 
Typo3 4.3 Die Neuerungen im Überblick
Typo3 4.3 Die Neuerungen im ÜberblickTypo3 4.3 Die Neuerungen im Überblick
Typo3 4.3 Die Neuerungen im Überblick
 
TYPO3 CMS 7.5 - Die Neuerungen - pluswerk
TYPO3 CMS 7.5 - Die Neuerungen - pluswerkTYPO3 CMS 7.5 - Die Neuerungen - pluswerk
TYPO3 CMS 7.5 - Die Neuerungen - pluswerk
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
 

FLOW3 Einführung auf dem TYPO3Camp Berlin 2012

  • 1.
  • 2. FLOW3 Einführung Christof Rodejohann Entwickler und Gründer bei Start-Up im Bereich der Immobilienverwaltung http://www.renodoku.de Backend FLOW3 Frontend QOOXDOO (JS Framework) http://qooxdoo.org/ TYPO3Camp Berlin 2012 / Folie: 2
  • 3. FLOW3 Einführung Grundprinzipen der Entwicklung mit FLOW3 - Umsetzung von Objektorientierung - MVC - Umsetzung von Design Pattern - Annotations - An Regeln halten – weniger konfigurieren - Objekt Framework (z.B. Dependency Injection) - Datenbank Zugriff via Persistenz Framework - Fluid Templating Engine TYPO3Camp Berlin 2012 / Folie: 3
  • 4. FLOW3 Einführung Grundphilosophie der Entwicklung mit FLOW3 Domain-Driven Design Basiert auf 2 Annahmen • Der Schwerpunkt des Softwaredesigns liegt auf der Fachlichkeit und der Fachlogik. • Der Entwurf komplexer fachlicher Zusammenhänge sollte auf einem Fachmodell basieren. Was ist eine Domäne? Ein abgrenzbares Problemfeld, Fachgebiet, Geschäftsfeld bzw. Einsatzbereich Zentrales, wichtigstes Element beim Modellieren ist eine gemeinsame Sprache => Ubiquitous language Quelle: http://www.slideshare.net/plobacher/t3-c-2010domaindrivendesignlobacher TYPO3Camp Berlin 2012 / Folie: 4
  • 5. FLOW3 Einführung Grundphilosophie der Entwicklung mit FLOW3 Domain-Driven Design Quelle: http://www.slideshare.net/plobacher/t3-c-2010domaindrivendesignlobacher TYPO3Camp Berlin 2012 / Folie: 5
  • 6. FLOW3 Einführung Domain Modelling UML als Ubiquitous language TYPO3Camp Berlin 2012 / Folie: 6
  • 7. FLOW3 Einführung Konsole FLOW3 laden via Git FLOW3 Kommandozeile TYPO3Camp Berlin 2012 / Folie: 7
  • 8. FLOW3 Einführung Konsole FLOW3 Package erzeugen Modell generieren (alle Modelle nach diesem Muster): TYPO3Camp Berlin 2012 / Folie: 8
  • 9. FLOW3 Einführung Live Vorführung Anpassungen des Models, für das, was durch den Kickstarter „vergessen“ wurde. • Annotation für Beziehung im Model Entry zu Calendar * @ORMManyToOne • Annotation für Ausprägung der Collection mit konkretem Model * @var DoctrineCommonCollectionsCollection <CrCalendarDomainModelDate> • Initialisierung der Collection in _construction Phase public function __construct() { $this->dates = new DoctrineCommonCollectionsArrayCollection(); } TYPO3Camp Berlin 2012 / Folie: 9
  • 10. FLOW3 Einführung Dependency Injection Entwurfsmuster um die Abhängigkeiten zwischen Komponenten oder Objekten zu lösen “Allgemeine Fabrikmethode“ TYPO3Camp Berlin 2012 / Folie: 10
  • 11. FLOW3 Einführung Packages FLOW3 ist ein FLOW3 Package – „Beliebig“ zusammenstellbare Packages Package Importierung von der Konsole für Packages von git.typo3.org Twitter.Bootstrap Package bietet das CSS Framework und passende Viewhelper Package Aktivierung nicht vergessen TYPO3Camp Berlin 2012 / Folie: 11
  • 12. FLOW3 Einführung Live Vorführung Generierte Fluid Viewhelper an Bootstrap anpassen • Neuen Namespace der ViewHelper verfügbar machen {namespace bootstrap=TwitterBootstrapViewHelpers} • Im Header Bootstrap Dateien laden <bootstrap:include/> • Bootstrap Struktur <div class="container“> <div class="navbar"> […] </div> <h2><f:render section="Title"/></h2> <f:render section="Content"/> </div> TYPO3Camp Berlin 2012 / Folie: 12
  • 14. FLOW3 Einführung Weiterführende Informationen Offizielle FLOW3 Dokumentation http://flow3.typo3.org/documentation/guide.html Fragen IRC #flow3 @Freenode Beispiel Lern Packages https://github.com/robertlemke/RoeBooks.Shop http://git.typo3.org/FLOW3/Packages/TYPO3.Blog.git TYPO3Camp Berlin 2012 / Folie: 14