Wie baue ich meine Webseite optimal auf?

filament

Erfahrenes Mitglied
Hallo,

ich bin derzeit aufgrund der Nutzung von Wordpress als CMS etwas raus aus PHP. Dort muss ich eigentlich nur die nötigsten Dinge selbst anpassen, während die Autoren von WP halt den Rest liefern.

Nun ist es aber vielmehr so, dass ich ein neues Projekt plane, dass ich selbst erstelle. Es wird allerdings mit großer Wahrscheinlichkeit ein Projekt mit sehr viel Kleinarbeiten und vielen Funktionen. Ich nehme also stark an, dass es sinnvoller ist das Projekt von Anfang an so übersichtlich wie möglich zu gestalten.

Daher meine Frage an euch: Wie gestalte ich die Webseite optimal in dieser Hinsicht?

Grundsätzlich habe ich früher vor einigen Jahren meine Webseiten in der Regel wie folgt aufgebaut:

1. Ordnerstruktur:

/admin/
/backup/
/css/
/images/
/includes/
/index.php
/.htaccess (falls notwendig)

2. Verschiedene Links aufrufen:

Nun ist es aber so, dass meine Projekte meistens kleinerer Natur waren. In der Index.php habe ich dann per switch case festgelegt, dass über die URL meinedomain.de?site=home eine bestimmte Seite aufgerufen wird. Dann wurde in der Index.php halt dieser Inhalt includiert. Davor wurde natürlich geprüft, ob die Eingabe keinen Schadcode beinhaltet.

3. Login / Header / Footer

Zu diesen einzelnen Bereichen habe ich dann separate php Dateien angelegt und includiert an entsprechender Stelle.

4. Navigation

Die Navigation habe ich meistens via MySQL Datenbank eingepflegt und dann mit while Schleife ausgegeben. Dazu dann ein Adminpanel, wo ich neue Links hinzufügen oder entfernen kann.

Ist diese vorgehensweise noch zeitgemäß? Kann ich vielleicht etwas dabei einsparen?

Ich lese immer wieder, dass man Code und Template trennen sollte. Ist damit einfach gemeint, dass ich den Code an entsprechenden Stellen includiere. Oder steckt da noch etwas anderes hinter? Wenn ja kennt ihr ein Tutorial dazu?

Vielleicht könnt Ihr mir weiterhelfen, um einen optimalen Start in mein neues Projekt zu finden. Tutorials oder andere Threads sind auch gerne willkommen.

Vielen Dank im Voraus!
 
Kann und will ich nicht sagen zum aktuellen Zeitpunkt. Tut doch aber auch zur Frage nichts zur Sache oder?
 
Naja, die Frage ist schwierig zu beantworten, da du dich zB mit den gängigen Frameworks nicht auszukennen scheinst, die man normalerweise dafür verwenden würde. Dementsprechend würde die Ordnerstruktur auch anders aussehen.
 
Das ist richtig, ich weiß leider nichts darüber.

Was ist ein Framework? Welche Vorteile hat es? Wie wird es "installiert"?
 
Zend hab ich schon Mal gehört. Aber dennoch bin ich völlig planlos - ohne gegoogelt zu haben, was ich noch machen werde - was eigentlich ein Framework genau macht. Bisher habe ich dem Text entnommen, dass es scheinbar vordefinierte Arbeiten gibt, die ich nicht neu selbst erstellen muss. Also eine Art Funktionsklasse?
 
Genau, sowas in der Art.
Eine mehr oder weniger fertige Klassensammlung, klein oder groß,
mehr oder weniger anpassbar, für einen bestimmten Zweck
oder ein größeres Anwendungsgebiet.

Um noch einen Schritt weiter zu gehen
gibt es auch komplett fertige Software, die zwar stark anpassbar ist,
aber auch ohne großartige Änderungen funktioniert.
Die Übergänge sind teilweise fließend.


Um wieder auf die Frage zurückzukommen:
Wie alxy ja auch schon sagt, hängt viel vom Sinn der Seite ab.
Ordnerstruktur, HTML-Struktur, (gut) verwendbare Sprachen/Techniken im Netzwerkbereich,
in Frage kommende Frameworks zur Arbeitserleichterung usw.usw.

Eine Fotoseite über Haustiere, ein Forum, ein Mailadressendienst, eine Videostreamingseite,
eine Fussballclubseite mit Wettmöglichkeit mit Geldeinsatz, ein Browsergame...
alles sehr unterschiedlich.

Und solche Fragen, ob/wie es sinnvoll ist, die Navigation oder irgendeinen Inhalt
DB-basiert zu speichern, hängt auch zB. von der Anzahl der Änderungen,
der Besucheranzahl, Änderungen der Seite generell (Umgang mit Cache)
usw.usw. ab.
 
Ich wollte eigentlich nicht zu viel sagen, aber Genre tut denke ich keinem weh. Es soll ein Browsergame werden auf Basis von PHP und MySql, aber kein modernes 3D Spiel, sondern etwas sehr Textlastiges.

Frameworks haben für mich halt den Nachteil, dass ich mich dort erst einarbeiten muss. So mit PHP und Sql habe ich im Hinblick auf Browserspiele schon Erfahrungen gemacht. Ist halt ein Weilchen her und ich würde gerne alles etwas verschlanken.

Wäre es denn nicht auch möglich mir ein paar Klassen selbst zu schreiben und zu nutzen? Das dürfte doch vor allem bei den Datenbankanfragen viel erleichtern, da ich nicht immer wieder den ganzen Kram coden muss? Aber die Frage ist halt eher in die Richtung gemeint gewesen, ob das viele Includen noch zeitgemäß ist..
 
Frameworks haben für mich halt den Nachteil, dass ich mich dort erst einarbeiten muss.
...dafür auch wieder den Vorteil, dass die Entwicklung dann schneller geht bzw. weniger zum
Selbstentwickeln ist (und dadurch auch weniger Fehlerrisiko->weniger Fehlersuche usw...)
Ist immer zum Abschätzen, ob es sich lohnt (auch berücksichtigen, wie wahrscheinlich
man das erarbeitete Wissen oder die selbst geschriebenn klassen
auch bei späteren Projekten wieder verwenden kann)
Wäre es denn nicht auch möglich mir ein paar Klassen selbst zu schreiben und zu nutzen?
Natürlich.
Nicht nur möglich, sondern oft die mit Abtand sinnvollste Variante,
wenn man mehr al 3 Zeilen Code selbst macht.
Aber die Frage ist halt eher in die Richtung gemeint gewesen,
ob das viele Includen noch zeitgemäß ist.
Das versteh ich nicht ganz...was für eine Alternative hat man denn?
Alles in eine Datei stopfen? Nein danke.
 

Neue Beiträge

Zurück