[2402 Aufrufe]

1.1 Contao Codebook für Entwickler

Ich bin seit über 15 Jahren als selbstständiger Entwickler tätig und seit fast 10 Jahren beschäftige ich mich hauptsächlich mit Contao. Meine Erfahrungen habe ich bisher in meinem Blog festgehalten. Ich habe dort Artikel über Dinge geschrieben, die mir bei der täglichen Arbeit gerade untergekommen sind. In dieser Serie möchte ich die Informationen besser strukturieren und sie zusammenhängend und aufeinander aufbauend gestalten.

Diese Texte beschäftigen sich mit der aktuellen Langzeitversion von Contao. Zum Entstehungszeitpunkt dieser Artikelreihe ist dies 4.13. Die meisten Dinge werden aber auch mit Contao 5 funktionieren. Wenn sich eine Sache auf eine bestimmte Version bezieht, werde ich dies explizit erwähnen.

Disclaimer

Die hier gezeigte Vorgehensweise ist aus meiner persönlichen Erfahrung entstanden und funktioniert für mich zurzeit sehr gut. Dies bedeutet nicht, dass sie universell einsetzbar, die einzig richtige Lösung, oder immer anwendbar ist. Auch ist dies eine Momentaufnahme. Contao entwickelt sich ständig weiter, sodass Dinge, die heute richtig sind, morgen schon wieder überholt sein können. Diese Texte verstehen sich als Anregung zum selbst erarbeiten von geeigneten Lösungen für die jeweilige Problemstellung.

Voraussetzungen

Ich setzte in dieser Serie PHP-Kenntnisse voraus, d. h. ich werde nicht auf Grundlagen der Sprache, die Syntax oder objektorientierte Programmierung eingehen. Des Weiteren setze ich Kenntnisse im Umgang mit Contao voraus. Wenn man das CMS nicht bedienen kann, macht es aus meiner Sicht keinen Sinn, dafür programmiren zu wollen. Für die Grundlagen von Contao, bietet u. a. Christian Feneberg in der Contao Academy Videokurse an.

Arbeitsumgebung

Da die meisten Server mit unixoiden Betriebssystem laufen, verwende ich Linux und werde mich in der Regel auch nur darauf beziehen. Wenn jemand Windows oder Mac nutzt, lohnen sich Fragen an mich nicht wirklich, da ich hier nicht weiterhelfen kann. Bitte in diesen Fällen in den entsprechenden Foren nachfragen. Wenn man ein laufendes Entwicklungssystem hat, sollte das verwendete Betriebssystem kaum eine Rolle spielen. Der Vollständigkeit halber zeige ich zwar die Installation einer Dockerumgebung, empfehle aber, dass ihr euer eigenes System verwendet.

Unterstützung des Projekts

Ich möchte noch darauf hinweisen, dass ich diese Texte in meiner Freizeit schreibe und kostenfrei zur Verfügung stelle. Dies ist eine bewusste Entscheidung, da es für mich wichtig ist einen Beitrag zu leisten. Durch die Weitergabe der in den letzten Jahren gesammelten Informationen, möchte dazu beitragen, dass bessere Erweiterungen entstehen und möglichst viele Menschen Ihre Projekte mit Cotnao umsetzen können.

Wem diese Texte gefallen oder weiterhelfen, kann mich beim Verfassen weiterer Texte unterstützen. So kann ich mir die eine oder andere Stunde Zeit nehmen um mehr Texte zu schreiben und umfangreicheren Themen zu behandeln. Dies ist absolut freiwillig, mir ist sehr wichtig dies zu betonen. Die entsprechenden Links befindet sich in der Seitenleiste. Des Weiteren kann man das Projekt durch das Buchen von kostenpflichtigem Support oder individueller Beratung unterstützen. Ich würde mich sehr freuen, wenn die dort erarbeiteten Ergebnisse ggf. auch hier veröffentlicht werden könnten. Dies wird dann aber im Einzelfall mit dem Auftraggeber entschieden.

Support

Bei einem Projekt wie diesem, dass komplett in der Freizeit entsteht, liegt es in der Natur der Sache, dass gewisse Dinge einfach ihre Zeit brauchen. Auch wenn ich aus der Erfahrung mit meinem Blog weiß, dass manche Menschen dies anders sehen, entsteht durch das bloße Lesen dieser Texte kein "Rechtsanspruch auf Support durch mich". ;)

Ich kann leider nicht beliebig viel kostenfreien Support zu den behandelten Themen leisten. Ich bitte deshalb um Verständnis, wenn ich gerade bei komplexeren Fragen, oder konkreten Problemstellungen, gelegentlich auf das Forum oder die Möglichkeit des kostenpflichtigen Supports verweise.

Ich werde natürlich versuchen alle Fragen zu beantworten, aber auch bei mir hat der Tag nur 24 Stunden und es kann ggf. etwas dauern. Gleiches gilt für Verbesserungsvorschläge und Korrekturen. Ich gebe mir die größte Mühe und probiere in der Regel alles aus, bevor ich es schreibe. Dies ist aber keine Garantie auf Fehlerfreiheit.

Ausblick

In den ersten Texten werde ich auf die Einrichtung einer Entwicklungsumgebung eingehen und dann Stück für Stück in die Entwicklung einführen. Es werden Themen wie eigene Datenstrukturen, Callbacks, Hooks, verschiedene Arten der Frontendausgaben, aber auch weiterführende Themen, wie Event Driven Development, Softwaretests und Symfony-Grundlagen behandelt.

Was nicht behandelt wird, sind Grundlagen von PHP, Contao, sowie CSS, HTML, JavaScript. Es gibt zu diesen Themen bereits sehr viel Material. In diesem Tutorial geht es speziell um die Programmierung für und mit Contao.