Hello,
vorab eine Empfehlung: http://www.typo3.de
Das ist vielseitig, an manchen Stellen vielleicht auch schon zu vielseitig.
Nun meine Gedanken zum Thema selber schreiben.
Ich sitze da selber seit fast drei Jahren an der Umsetzung eines solchen Projektes. Gab zwischendurch immer Glanzlichter aber auch Rückschläge, wo man sich einfach verrannt hat.
Typeo3 habe ich selber erst vor einigen Monaten kennengelernt und konnte feststellen, dass es zwar ungefähr den gleichen Leistungsumfang wie mein eigenes System für die Verwaltung hat, aber keinesfalls so leicht zu verstehen ist. Außerdem könnte ich meine speziellen Anforderungen da nur mit Mühe reinbekommen. Deshalb bin ich nicht traurig, dass ich das Rad nochmal erfinde.
Folgende Schwierigleiten muss man beherrschen lernen:
Grundlagen Servertechnik
- HTTP
- Dateisystem, Rechte
- .htaccess
- Datenbankadministration und Konfiguration
- Webserveradministration und Konfiguration
umfangreiche PHP oder Perlenntnisse
- Datenstrukturierung
- Sessions
- Authentifizierung
- Cookies
- HTTP-Header
- Sicherheit
- Vorgangsbearbeitung
- konkurrierender Betrieb
- OOP oder polymorphe Strukturen
- Mathematische Verfahren, Bäume, Verkettete Listen, etc
- Modularisierung
- Fragen wie "Post oder Get?"
- Bildverarbeitung
- Grafiktext-Erstellung
Datenbank
- Design und Normalisierung
- Abfragen (auch komplexe)
- Query-Minimierung bzw. -optimierung
Der bewusste Verzicht auf einen Normaliesungsschritt kann
unter Umständen sehr förderlich für die Performance sein - Lastannahmen, Lastverteilung
HTML
- grundlegender Aufbau
- Formulare und ihre Eigenarten
- Validierung
- Ausgebemedien (Screen, Druck, ...)
- Mängel (browser-Macken)
CSS
- siehe HTML
- Konzepte für die Erzeugung von Templates
Philosopie
- Ergonomie
- Programmdesign
- allgemeine Darstellung
- Form und Farbe
- ...
Das ist nur das, was mir im Moment so einfällt.
Wenn ich heute nochmal anfangen würde, wüßte ich, wie man ein "ganz einfaches System" bauen könnte.
Das größte Problem dürfte sein, alles so aufzubauen, dass es stets erweiterbar, wiederverwendbar, leicht verständlich bleibt. Also strikte Trennung von Datenhaltung, Code und Anzeige, keine GLOBALS, sondern Funktionen oder Methoden, intelligente Fehlerbehandlung und Messaging, usw.
Viel Erfolg
Liebe Grüße aus http://www.braunschweig.de
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen