Sie sind hier
E-Book

Zukunftssichere TYPO3-Extensions mit Extbase und Fluid

AutorJochen Rau, Sebastian Kurfürst
VerlagO'Reilly Verlag
Erscheinungsjahr2010
Seitenanzahl336 Seiten
ISBN9783897219663
FormatPDF/ePUB
Kopierschutzkein Kopierschutz/DRM
GerätePC/MAC/eReader/Tablet
Preis32,00 EUR
TYPO3 ist ein mächtiges Content Management System, das seine Beliebtheit nicht zuletzt seiner Erweiterbarkeit durch Extensions verdankt. Seit TYPO3 v4.3 bietet das CMS ein eigenes Framework und eine Template-Engine, mit der die Extension-Entwicklung noch geschmeidiger wird - und das bei hoher Qualität des Codes. Mit Extbase und Fluid stehen zwei Tools zur Verfügung, die Sie darin unterstützen, saubere, modular gekapselte und gut wartbare Extensions zu schreiben.
Moderne Programmier-Paradigmen
Durch die moderne Extension-Architektur setzt die Nutzung von Extbase und Fluid anderes Fachwissen als bisher voraus. Dieses Buch macht Sie mit den Programmier-Paradigmen vertraut, die Sie brauchen, um effektiv mit Extbase und Fluid zu arbeiten. Die Autoren stellen Ihnen Konzepte wie objektorientierte Programmierung, Domain-Driven Design und MVC-Architektur vor und zeigen Ihnen, wie Sie sie für die Extension-Entwicklung mit Extbase und Fluid nutzen.
Extbase und Fluid in der Praxis
Im Anschluss daran durchstreifen Sie die verschiedenen Schichten von Extbase und Fluid und erfahren, wie Sie Ihre erste Extension mit Extbase entwickeln. Dabei lernen Sie auch, wie Sie ein Domänenmodell entwickeln und implementieren, die Persistenzschicht einrichten, den Ablauf mit Controllern steuern und die Ausgabe mit Fluid gestalten.
Zukunftssicherheit
Extensions, die auf Extbase und Fluid basieren, können mit überschaubarem Aufwand zu TYPO3 v5 bzw. FLOW3 portiert werden.
Wissen aus erster Hand
Jochen Rau ist selbstständiger Software-Entwickler und seit 2009 verantwortlich für das Extbase-Projekt. Sebastian Kurfürst war als Hauptentwickler maßgeblich an der Entwicklung von Fluid beteiligt. Beide gehören zum TYPO3-Kernentwicklerteam.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

"Kapitel 9 KAPITEL 9 Mehrsprachigkeit, Validierung und Sicherheit (S. 217-218)

In den vorangehenden Kapiteln sind wir ausführlich auf alle Schichten des MVC-Patterns eingegangen. Dabei haben wir jede Schicht weitgehend separat betrachtet. Dies ändert sich in diesem Kapitel: Hier geht es um Aufgaben bei der Extension-Programmierung, bei denen das Zusammenspiel der verschiedenen Schichten wichtig ist. Wir zeigen zuerst, wie sich auf Extbase basierende Extensions so programmieren lassen, dass sie Ausgaben in mehreren Sprachen erzeugen können. Dabei wird neben der Lokalisierung von statischen Texten auch die Übersetzung von Domänenobjekten berücksichtigt. Im zweiten Teil des Kapitels wird erklärt, wie sich Konsistenzbedingungen des Domänenmodells umsetzen und überprüfen lassen. Abgeschlossen wird das Kapitel mit einigen Aspekten, die die Sicherheit der Extension erhöhen.

Eine Extension lokalisieren und mehrsprachig auslegen

Insbesondere im Unternehmenszusammenhang gibt es häufig den Bedarf, eine Website in einer oder mehreren weiteren Sprachen anzubieten. Dabei fällt nicht nur eine Übersetzung der Website-Inhalte an, sondern auch die Erweiterungen, die genutzt werden, müssen in mehreren Sprachen vorliegen. Daher sollten Sie schon bei der Programmierung einer Extension an eine mögliche spätere Lokalisierung denken und dementsprechend einige Weichen stellen.

Die Konfigurationsmöglichkeiten für die Lokalisierung innerhalb von TYPO3 sind sehr vielfältig. Eine umfassende Beschreibung aller Konzepte und Optionen finden Sie im Frontend Localization Guide (http://typo3.org/documentation/document-library/core-documentation/ doc_l10nguide/current/). Wir setzen für die folgenden Abschnitte eine korrekte Konfiguration der Lokalisierung voraus. Diese wird üblicherweise im TypoScript-Root-Template vorgenommen und sieht etwa wie folgt aus:

config { linkVars = L uniqueLinkVars = 1 sys_language_uid = 0 language = default locale_all = en_GB htmlTag_langKey = en }

[globalVar = GP:L = 1] config { sys_language_uid = 1 language = de locale_all = de_DE.utf8 htmlTag_langKey = de } [global]

Die Auswahl der Frontend-Sprache erfolgt über einen Parameter in der URL (linkVars = L). Wichtig ist die Festlegung der UID der Sprache (sys_language_uid = 0) und der Language- Key der Sprache (language = default). Wenn nun die URL der Webseite einen Parameter L=1 enthält, erfolgt die Ausgabe auf Deutsch, falls der Parameter nicht gesetzt ist, so erfolgt die Ausgabe der Webseite in der Standardsprache (in unserem Beispiel auf Englisch). Im Folgenden beschäftigen wir uns zunächst mit der Übersetzung statischer Texte wie etwa Linkbeschriftungen, die in den Templates vorkommen. Im Anschluss daran geht es um die Übersetzung der Inhalte der Extension, also der Domänenobjekte. Abschließend wird erklärt, wie Datumsformate an die im jeweiligen Land etablierten Datumskonventionen angepasst werden können."

Inhaltsverzeichnis
Inhalt5
Einführung9
Kapitel 1: Installation17
Den Server einrichten17
Die Entwicklungsumgebung einrichten20
Weitere hilfreiche Extensions24
Kapitel 2: Grundlagen27
Objektorientierte Programmierung mit PHP28
Domain-Driven Design42
Model-View-Controller in Extbase53
Test-Driven Development58
Zusammenfassung67
Kapitel 3: Reise durch das Blog-Beispiel69
Erste Orientierung70
Die Stationen der Reise72
Die Extension aufrufen73
Und Action!75
Blogs aus dem Repository abholen77
Ein Ausflug zur Datenbank78
Pfade auf der Data-Map78
Zurück im Controller81
Die Ausgabe durch Fluid rendern82
Das Ergebnis an TYPO3 zurückgeben85
Alternative Reiseroute: Einen neuen Post anlegen85
Automatische Speicherung der Domäne90
Hinweise für Umsteiger91
Kapitel 4: Eine erste Extension anlegen95
Die Beispiel-Extension95
Ordnerstruktur und Konfigurationsdateien anlegen96
Das Domänenmodell anlegen98
Produkte haltbar machen100
Den Ablauf steuern103
Das Template anlegen104
Das Plugin konfigurieren105
Kapitel 5: Die Domäne modellieren109
Die Anwendungsdomäne110
Das Domänenmodell implementieren114
Kapitel 6: Die Persistenzschicht einrichten133
Die Datenbank vorbereiten134
Eingabemasken des Backends konfigurieren145
Individuelle Abfragen implementieren164
Fremde Datenquellen nutzen174
Klassenhierarchien abbilden175
Kapitel 7: Den Ablauf mit Controllern steuern181
Controller und Actions anlegen182
Frontend-Plugins konfigurieren und einbinden196
Das Verhalten der Extension konfigurieren198
Kapitel 8: Die Ausgabe mit Fluid gestalten199
Basiskonzepte199
Verschiedene Ausgabeformate verwenden207
Wiederkehrende Snippets in Partials auslagern207
Die Darstellung mit Layouts vereinheitlichen209
TypoScript zur Ausgabe nutzen: der cObject-ViewHelper210
Zusätzliche Tag-Attribute mit additionalAttributes einfügen213
Boolesche Bedingungen zur Steuerung derAusgabe verwenden214
Einen eigenen ViewHelper entwickeln216
PHP-basierte Views einsetzen223
Template-Erstellung am Beispiel225
Zusammenfassung231
Kapitel 9: Mehrsprachigkeit, Validierung und Sicherheit233
Eine Extension lokalisieren und mehrsprachig auslegen233
Domänenobjekte validieren243
Sichere Extensions programmieren257
Zusammenfassung261
Kapitel 10: Ausblick263
Eine Extension mit dem Kickstarter anlegen263
Backend-Module267
Migration auf FLOW3 und TYPO3 v5269
Anhang A: Coding Guidelines271
Anhang B: Referenz für Extbase275
Anhang C: Referenz für Fluid291
Index329

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

Arzneimittel Zeitung

Arzneimittel Zeitung

Die Arneimittel Zeitung ist die Zeitung für Entscheider und Mitarbeiter in der Pharmabranche. Sie informiert branchenspezifisch über Gesundheits- und Arzneimittelpolitik, über Unternehmen und ...

FREIE WERKSTATT

FREIE WERKSTATT

Die Fachzeitschrift FREIE WERKSTATT berichtet seit der ersten Ausgaben 1994 über die Entwicklungen des Independent Aftermarkets (IAM). Hauptzielgruppe sind Inhaberinnen und Inhaber, Kfz-Meisterinnen ...

Das Hauseigentum

Das Hauseigentum

Das Hauseigentum. Organ des Landesverbandes Haus & Grund Brandenburg. Speziell für die neuen Bundesländer, mit regionalem Schwerpunkt Brandenburg. Systematische Grundlagenvermittlung, viele ...

Deutsche Tennis Zeitung

Deutsche Tennis Zeitung

Die DTZ – Deutsche Tennis Zeitung bietet Informationen aus allen Bereichen der deutschen Tennisszene –sie präsentiert sportliche Highlights, analysiert Entwicklungen und erläutert ...

Evangelische Theologie

Evangelische Theologie

Über »Evangelische Theologie« In interdisziplinären Themenheften gibt die Evangelische Theologie entscheidende Impulse, die komplexe Einheit der Theologie wahrzunehmen. Neben den Themenheften ...