Sinnvoller Aufbau einer Website mit PHP
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
absatz
auslese
code
dank
date
endeffekt
entsprechende zeile
header
inhalt
kopf
liege
nutz
schleifen
sicht
spalte
spalten
tabelle
text
trennen
verwendung
-
Hallo zusammen,
bisher habe ich nur das Menü auf meiner Website in allen Seiten mit include('') inkludiert.
Meine Frage:
- Wie würdet ihr eine Website aufbauen, die man mit möglichst wenig Aufwand erweitern / ändern kann.
(z.B. mit Top und Footer includieren, damit man dann für alle Seiten den Kopf und das ende ändern kann)
- Würdet ihr den Inhalt vom Code trennen, und wenn ja wie
- Soll auf allen Seiten abgefragt werden, ob der Nutzer einen Berechtigung hat diese zu Betreten, oder nur auf den geschützten Seiten (falls man später mal eine der jetzt offenen Seiten schützen will, braucht man nur die erforderlichen Rechte höher zu setzen)
freue mich schon über eure Antworten.
(dieser Thread ist absichtlich nicht Homepage allgemein erstellt, da ich alles mit PHP und MySQL lösen will)
Gruß,
Prog
Beitrag geändert: 27.9.2008 17:37:47 von progAbstimmung (Nur eine Auswahl möglich)
Texte vom Code trennen 100 % (11 Stimmen) Texte nicht vom Code trennen 0 % (0 Stimmen) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Es kommt ganz auf deine Seite an. Normalerweise inkludierst du header, linkleiste und footer. Wenn es eine einfache Seite ist, kannst du auch nur header und footer inkludieren.
-
Also generell würde ich den Inhalt vom code trennen.
Je nachdem kann man das per Include machen oder per Datenbank.
Also den generellen Seitenaufbau wie Header, Fotter und Navi würde ich per Incude anfordern und dann den seitenspezifischen Inhalt per Datenbank. Das nennt man dann CMS xD -
1. Danke für eure Beiträge, das hilft mir schon viel weiter.
Mein bisheriger Aubau war einfach nur das Menü und Statistikfunktionen zu inkludieren.
und ich lass jeden text aus der db auslesen.
Kannst du mir das mal bitte etwas genauer Schildern (z.B. den Datenbankaufbau).
So wie ich das sehe hast du dir da ein CMS gebastelt, liege ich da richtig? -
Sinnvoll ist die Verwendung von Template-Engines (zB Smarty). Dadurch trennt man Logik (PHP) und Design (HTML, CSS, ...) und kann durch einfaches ändern der Templates das komplette Design der Seite ändern. Ich verwende bei meinen Projekten ein Mastertemplate, das das Gerüst ausenrum beinhaltet (Navigation, Kontentbereich, ...) und Subtemplates für die einzelnen Unterseiten. Dabei kann es sein, dass mehrere Unterseiten das gleiche Subtemplate verwenden.
Auch sinnvoll ist es, Model-View-Controller zu verwenden, was nach einen Schritt weiter als Temlates gehen.
Zudem empfiehlt es sich objektorientiert zu programmieren um eine hohe Skalierbarkeit zu gewährleisten. -
1. Danke für eure Beiträge, das hilft mir schon viel weiter.
Mein bisheriger Aubau war einfach nur das Menü und Statistikfunktionen zu inkludieren.
und ich lass jeden text aus der db auslesen.
Kannst du mir das mal bitte etwas genauer Schildern (z.B. den Datenbankaufbau).
So wie ich das sehe hast du dir da ein CMS gebastelt, liege ich da richtig?
Hm sozusagen eins was auf mich abgestimmt ist und das auch nur ich nutze.
Also generell musst du dafür einen Adminbereich einrichten.
Dann einfach eine Tabelle sites mit den Spalten "name" und "content". Kannst natürlich noch mehr hinzufügen wie etwa ein Stichwortverzeichnis für die Suche oder generell Metatags;)
Tja und dann musst du den Content einfügen indem du angenommen GET nimmst, um dann die entsprechende Zeile mit dem GET-Wert in der Spalte "name" auszulesen. -
Hm sozusagen eins was auf mich abgestimmt ist und das auch nur ich nutze.
Also generell musst du dafür einen Adminbereich einrichten.
Dann einfach eine Tabelle sites mit den Spalten "name" und "content". Kannst natürlich noch mehr hinzufügen wie etwa ein Stichwortverzeichnis für die Suche oder generell Metatags ;)
Tja und dann musst du den Content einfügen indem du angenommen GET nimmst, um dann die entsprechende Zeile mit dem GET-Wert in der Spalte "name" auszulesen.
Das hilft mir zwar schon viel weiter, aber wie mache ich es dann, wenn ich im Inhalt PHP ausgaben habe
z.B. ich habe eine PHP ausgabe zwischen Absatz 1 und Absatz 2
Absatz 1: .......................
<?php echo date("Y"); // oder eben irgendetwas anderes ?>
Absatz 2: .......................
Soll ich das dann nach dem Container Modell machen, also
Absatz 1: .......................[abfrage 1]
<?php echo date("Y"); // oder eben irgendetwas anderes ?> [der PHP Code]
Absatz 2: .......................[abfrage 2]
Oder wie?
Gruß, Prog -
Ich hab einmal fast alles includiert.
Titel, Metaangaben, Menü,Footer, was so im Head steht und so und dann noch den Inhalt der Seite,
-
Moin.
Die Verwendung einer Template-Engine ist an sich aus meiner Sicht absolut nicht notwendig, denn eine Template-Engine ist im Endeffekt nur eine Vereinfachung von PHP-Befehlen bzw. eine chicere Möglichkeit, PHP in HTML einzubetten. Rein kosmetische Natur also. Sieht man schön an der Möglichkeit, Variablen 'durch die Template-Engine' innerhalb des Templates behandeln zu können... Was für ein Schwachsinn.
Aber das Template-Prinzip an sich ist auf alle Fälle ratsam. Grundgerüst des Inhaltes, also der Darstellung des Inhaltes, mit HTML und CSS erstellen, ein Template eben. Innerhalb des Templates dann minimalen PHP-Code, bspw. Variablen-echos an entsprechenden Stellen, Schleifen mit echos an anderen, passenden Stellen etc. Wichtig ist auf alle Fälle, dass man den Fokus darauf legt, dass die Skripte an sich im Endeffekt als Resultat ihrer Ausführung nur eines bringen: 'Fertige' Variablen bzw. Arrays, die man im Endeffekt nur noch mit eben erwähnten echos (oder prints) innerhalb der HTML-Datei ausgibt. Es gibt für diese Zwecke sogar eine alternative Syntax für Schleifen in PHP, sodass man faktisch selbst im Falle von Schleifenausgaben (in Gästebüchern bspw.) keinerlei HTML-Code in PHP-Code einfügen muss (im Stile von: 'echo "<h1>Dies ist eine Überschrift</h1>";', was aus meiner Sicht extrem unschön ist). Wenn ich sie doch nur aus dem Kopf wüsste... ^^
GrEetz, olliander
Beitrag geändert: 27.9.2008 22:06:32 von olliander -
Das bringt mich jetzt schon sehr viel weiter.
Wenn ich sie doch nur aus dem Kopf wüsste... ^^
Jaja, das wäre dann schon praktisch.
Ich werde meine Seite dann mal nach eurem Schema umbauen und aufrüsten.
Gruß, Prog -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage