frankx: Projekt strukturieren

Beitrag lesen

Hellihello Christian,

Wie organisiert man so etwas auf der Serverebene?

Möglich ist, einen "testing", einen "online" und eine "archive" Bereich zu haben, damit du erstmal sowas wie eine Versionsverwaltung hast. Eigene Ordner in den httpdocs können das sein, auf die Du dann via .htaccess routest.

Innerhalb dann Data und View in eigenen Ordner (oder eben Datenbank).

Zudem wäre ggf. zu überlegen, ob die Benennung der Seiten eine Rolle spielt, denn das sind ja auch gleich die Stichworte für Suchen.

  • Wo sollte was gespeichert werden. (Ordnernamen)

Mh, hast Du eine Datenbank, oder willst Du die Daten serialisiert ablegen? Ein Ordner pro User mit "seinen Sachen" darin scheint wohl eine sinnvolle Möglichkeit.

  • Worauf sollte man achten, damit die Pflege hinterher nicht zur Qual wird.

Es gibt neben DRY noch YAGNI (You aint gonna need it) und KISS (keep it simple stupid). Im Grunde vielleicht vier Grundklassen nehmen.

  • Der Speicher kennt die Datenstruktur und führt die crud-Methoden aus.
  • Die View verwaltet die einzelnen Templates (Formulare, Anzeigen).
  • Die Control macht das "wiring", also schaltet die URL/Formularanfragen weiter an die Speicher(Schreib/Lese)funktionen. Eventuell steht dem Controller noch ein Validator und ein Generator zur Seite.
  • Dein Datensatz ist dann noch eine Klasse (z.B. User) mit einer ID, inhaltlichen Daten und vielleicht Metadaten. Du könntest also zB. in $user->data['name'] den Namen abspeichern, in $user->meta['name']['required'] die Info, ob das Ding zwingend ausgefüllt sein muss.
  • Was soll eine Documentdatei aufgebaut sein.

Was soll das sein?

Also welche Dateien sollten am Besten im jeweiligen PHP file gespeichert werden... Welche "geincluded" ...Welche automatisch generiert?

Vielleicht ein HTML-Grundgerüst, in dem die Titel, Metas, und Body als Variablen eingesetzt sind. Diese werden dann vorher gesetzt, am Ende das Gerüst eingebunden.

Für den Body dann nochmal eigene Templates, nach dem selben Muster.

Ich weis das diese Fragen irgendwie allgemein und schlecht greifbar sind.

Nein, sie sind greibar. Das ist wie die Architektenskizze beim Hausbau. Physisch greifbar machen lässt sich das auch mit CRC-Cards.

Vielleicht kennt jemand ja ein Website mit einem oder mehreren Beispielen von Projektstrukturen umfangreicher Seiten.

Oder kann ein bisschen was aus dem Nähkästchen plaudern.

Weitere Webtipps fänd ich auch prima. Ein rechtes Projektstrukturbuch o.ä. konnt ich auch noch nicht finden. RUBY on RAILS hat da wohl auch ein eigenes beeindruckendes Framework. Aber dafür brauchst Du dann wegen der Randbedingungen wohl am besten einen eigenen Server. Das mit dem Webhosting ist natürlich die Vorbedingung für alles.

Gruß,

frankx