workshop extension-entwicklung mit extbase und fluid
DESCRIPTION
Workshop von OUTPUT'DD 2010 zum Thema Extension-Entwicklung mit Extbase und Fluid.TRANSCRIPT
![Page 1: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/1.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
![Page 3: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/3.jpg)
- ACHTUNG -TYPO3-Evangelist
![Page 4: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/4.jpg)
![Page 5: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/5.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
![Page 6: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/6.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
InhaltEinführung TYPO3
Anlegen einer Extenson
Fluid
Anpassen der Templates
Ausblick
![Page 7: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/7.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
TYPO3Open Source Content Management System
Aktuelle stabile Version: TYPO3 4.2.3
60.000 bis 80.000 Downloads pro Monat
mehr als 30.000 Nutzer auf typo3.org registriert
Höchste Verbreitung im Mittelstand, jedoch auch Nutzung in großen Firmen: Dassault Systems, 3M, Sixt, Unesco, Unicef, WWF
![Page 8: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/8.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
Die Geschichte von TYPO3seit 1998
33 Kernentwickler
bisher 500.000 Zeilen Code committed
aktuelle Codebase: 300.000 Zeilen
![Page 9: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/9.jpg)
Inspiring people toshare
TYPO3
Extensions für TYPO3 programmieren
Content Management
Inhalte Darstellung
Content Management
![Page 10: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/10.jpg)
Inspiring people toshare
TYPO3
Extensions für TYPO3 programmieren
Was ist Content?Texte, Bilder
News-Einträge
Forums-Postings
Blog-Postings
...
Extensions}
![Page 11: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/11.jpg)
Inspiring people toshare
TYPO3
Extensions für TYPO3 programmieren
Extensions
TYPO3 Core
Extension Extension
![Page 12: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/12.jpg)
![Page 13: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/13.jpg)
Gewachsene Architektur
© K. Tuck at http://www.sxc.hu/photo/1135191
![Page 14: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/14.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
„We need a new framework!“
![Page 15: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/15.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
![Page 16: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/16.jpg)
Inspiring people toshare
TYPO3
Extensions für TYPO3 programmieren
TYPO3 v4 und v5
TYPO3 v4
TYPO3 v5
FLOW3MVC DDD FluidMVC DDD FluidExtbase Fluid
![Page 17: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/17.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
http://www.flickr.com/photos/seier/501370105/
ModelViewController
DomainDrivenDesign
Grundlagen
![Page 18: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/18.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
Model View Controller
Domain Model (Domain Layer)
View
Controller
![Page 19: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/19.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
http://www.flickr.com/photos/bunchofpants/106465356/sizes/o/
Das Modell isteine kleine Abbildung
der Realität.
![Page 20: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/20.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
Der View rendert Daten.
http://www.sxc.hu/photo/1157763
![Page 21: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/21.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
Der Controller steuert den Datenfluss und löst Aktionen aus
http://www.sxc.hu/browse.phtml?f=view&id=956017
![Page 22: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/22.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
Controller
View
Model
Request Response
![Page 23: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/23.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
![Page 24: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/24.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
Domain-Driven Design
![Page 25: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/25.jpg)
Fokus auf das
Wesentliche
das Frameworkkümmert sichum den Rest
http://www.sxc.hu/photo/59950
Domäne der Anwendung
![Page 26: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/26.jpg)
Inspiring people toshare
Beispiel
Extensions für TYPO3 programmieren
Post
Comment*
Das Blog-Domänenmodell
PostRepository$post->getComments()
$postRepository->findAll()
![Page 27: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/27.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
ZugangsdatenFrontend: http://141.76.66.180/platz_[platznummer]/
Backend: http://141.76.66.180/platz_[platznummer]/typo3
Dateien: http://141.76.66.180/webdav/platz_[platznummer]/typo3conf/ext/blog/
User / Passwort: admin / t3workshop
![Page 28: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/28.jpg)
Fluid
![Page 29: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/29.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
Model View Controller
Domain Model (Domain Layer)
View
Controller
![Page 30: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/30.jpg)
Inspiring people toshare
Fluid
Extensions für TYPO3 programmieren
Variablen
$this->view->assign(‘blogTitle’, $blog->getTitle());
<h1>The name of the blog is: {blogTitle}</h1>
![Page 31: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/31.jpg)
Inspiring people toshare
Fluid
Extensions für TYPO3 programmieren
Object Accessors
$this->view->assign(‘blog’, $blog);
<h1>The name of the blog is: {blog.title}</h1> Author: {blog.author}
Getter werden automatisch aufgerufen
![Page 32: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/32.jpg)
Inspiring people toshare
Fluid
Extensions für TYPO3 programmieren
<f:link.action action=“someAction“> Administration</f:link>
View Helper
![Page 33: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/33.jpg)
Inspiring people toshare
Fluid
Extensions für TYPO3 programmieren
Inline Notation
<f:format.nl2br> {post.text}</f:format.nl2br>
{post.text -> f:format.nl2br()}
![Page 34: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/34.jpg)
Inspiring people toshare
Topictext
Extensions für TYPO3 programmieren
![Page 35: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/35.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
InformationsquellenFolien auf slideshare.net/skurfuerst
Extbase-Projektseite:http://forge.typo3.org/projects/show/typo3v4-mvc
Fluid-Projektseite:http://forge.typo3.org/projects/show/package-fluid
Extbase-Kickstarter:http://forge.typo3.org/projects/show/extension-extbase_kickstarter
![Page 36: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/36.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
InformationsquellenSVN: https://svn.typo3.org/TYPO3v4/CoreProjects/MVC/
Ausführliche Beispiel-Extension:https://svn.typo3.org/TYPO3v4/CoreProjects/MVC/blog_example/
Newsgroup / Mailing Liste: lists.typo3.org - typo3.projects.typo3v4mvc
![Page 37: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/37.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
Buchempfehlungen
![Page 38: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/38.jpg)
Inspiring people toshareExtensions für TYPO3 programmieren
Vielen Dank!
![Page 39: Workshop Extension-Entwicklung mit Extbase und Fluid](https://reader030.vdocuments.site/reader030/viewer/2022020122/555a8e88d8b42a991b8b4767/html5/thumbnails/39.jpg)
inspiring people to share.