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
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
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