workshop extension-entwicklung mit extbase und fluid

39
Inspiring people to share Extensions für TYPO3 programmieren

Upload: sebastian-kurfuerst

Post on 19-May-2015

11.514 views

Category:

Technology


3 download

DESCRIPTION

Workshop von OUTPUT'DD 2010 zum Thema Extension-Entwicklung mit Extbase und Fluid.

TRANSCRIPT

Page 1: Workshop Extension-Entwicklung mit Extbase und Fluid

Inspiring people toshareExtensions für TYPO3 programmieren

Page 2: Workshop Extension-Entwicklung mit Extbase und Fluid

Extensions für TYPO3 programmieren

Sebastian Kurfürst <[email protected]>Christoph Dähne

23.04.2009

Page 3: Workshop Extension-Entwicklung mit Extbase und Fluid

- ACHTUNG -TYPO3-Evangelist

Page 4: Workshop Extension-Entwicklung mit Extbase und Fluid
Page 5: Workshop Extension-Entwicklung mit Extbase und Fluid

Inspiring people toshareExtensions für TYPO3 programmieren

Page 6: Workshop Extension-Entwicklung mit Extbase und Fluid

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

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

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

Inspiring people toshare

TYPO3

Extensions für TYPO3 programmieren

Content Management

Inhalte Darstellung

Content Management

Page 10: Workshop Extension-Entwicklung mit Extbase und Fluid

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

Inspiring people toshare

TYPO3

Extensions für TYPO3 programmieren

Extensions

TYPO3 Core

Extension Extension

Page 12: Workshop Extension-Entwicklung mit Extbase und Fluid
Page 13: Workshop Extension-Entwicklung mit Extbase und Fluid

Gewachsene Architektur

© K. Tuck at http://www.sxc.hu/photo/1135191

Page 14: Workshop Extension-Entwicklung mit Extbase und Fluid

Inspiring people toshareExtensions für TYPO3 programmieren

„We need a new framework!“

Page 15: Workshop Extension-Entwicklung mit Extbase und Fluid

Inspiring people toshareExtensions für TYPO3 programmieren

Page 16: Workshop Extension-Entwicklung mit Extbase und Fluid

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

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

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

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

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

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

Inspiring people toshareExtensions für TYPO3 programmieren

Controller

View

Model

Request Response

Page 23: Workshop Extension-Entwicklung mit Extbase und Fluid

Inspiring people toshareExtensions für TYPO3 programmieren

Page 24: Workshop Extension-Entwicklung mit Extbase und Fluid

Inspiring people toshareExtensions für TYPO3 programmieren

Domain-Driven Design

Page 25: Workshop Extension-Entwicklung mit Extbase und Fluid

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

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

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

Fluid

Page 29: Workshop Extension-Entwicklung mit Extbase und Fluid

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

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

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

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

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

Inspiring people toshare

Topictext

Extensions für TYPO3 programmieren

Page 35: Workshop Extension-Entwicklung mit Extbase und Fluid

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

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

Inspiring people toshareExtensions für TYPO3 programmieren

Buchempfehlungen

Page 38: Workshop Extension-Entwicklung mit Extbase und Fluid

Inspiring people toshareExtensions für TYPO3 programmieren

Vielen Dank!

Page 39: Workshop Extension-Entwicklung mit Extbase und Fluid

inspiring people to share.