PHP richtig strukturieren

Blackbenji

Lieutenant
Registriert
Nov. 2009
Beiträge
557
Hallo!

ich versuche mich nach ca 7 jahren mal wieder an php.
meine idee ist es, einen kleinen simplen blog zu schreiben. ich brauche kein mega blog ala wordpress und co, mir reicht eine art "gästebuch", jedoch mit userverwaltung.

mein erster schritt war es, mich darüber zu informieren, wir ich html design vom code zu trennen.

ich habe also ein path:
PHP:
define("PATH_TPL", dirname(__FILE__) . "/tpl");

und dann den include:
PHP:
include PATH_TPL . "/tpl.head.vm";

funktioniert auch.

jetzt zu meinem problem:

ich weiß nicht was schlauer ist,

a) alles in eine php datei zu packen oder
b) alles zu trennen

der besucher landet auf der index.php hat dann die option des logins oder zum betrachten.

würdet ihr dann eher index.php?location=login machen oder auf login.php gehen?

frage zwei wäre dann, wie ihr am besten das umsetzt ?

ist sowas noch zeitgemäß ?
PHP:
	if ($location=="login") {
		include PATH_TPL . "/tpl.form_post.vm";	
	} elseif ...
 
Blackbenji schrieb:
ich weiß nicht was schlauer ist,

a) alles in eine php datei zu packen oder
b) alles zu trennen
Ich habe auf meiner Homepage zwischen Berechnungen (sql Abfragen, Besucherzähler) und Generierung der html-Seite komplett unterschieden. Das findet bei mir in unterschiedlichen php-Datei statt.
Ist ab einer gewissen Seitengröße sehr zu empfehlen!

Blackbenji schrieb:
würdet ihr dann eher index.php?location=login machen oder auf login.php gehen?
Das ist kreative Freiheit!
Ich würde aber nicht direkt auf die php-Dateien verweisen ... also z.B. die Startseite ist "/", die Loginseite ist "/login", das Gästebuch ist "/guestbook", usw.
Die interne Weiterleitung kann man dann per htaccess machen!

Blackbenji schrieb:
ist sowas noch zeitgemäß ?
PHP:
	if ($location=="login") {
		include PATH_TPL . "/tpl.form_post.vm";	
	} elseif ...
So in der Art habe ich das auch mit meinen Unterseiten geregelt ...
 
Ich würde aber nicht direkt auf die php-Dateien verweisen ... also z.B. die Startseite ist "/", die Loginseite ist "/login", das Gästebuch ist "/guestbook", usw.

könntest du mir dazu kurz eine code-zeile als beispiel geben?
hab zwar deine seite gesehen, sieht für mich aber nach einer ordner strukur aus ^^ kann mir darunter gerade nichts vorstellen :D
 
Wenn du es halbwegs professionell machen willst, schau dir evtl. mal an wie man das MVC (oder MVP) Pattern in PHP umsetzt. Damit trennt man Darstellung von der Logik des Programms. Oft wird dieses Pattern benutzt, um z.B. ein einzelnes Programm zu schreiben, aber das UserInterface mal eben austauschen zu können (ist ja einfach, wenn es komplett seperat von der Programmlogik ist).
Dazu kommt dann natürlich noch das Plus an Übersichtlichkeit (wenn man sich erstmal mit den ganzen Dos und Don'ts angefreundet hat).
Sehr einfaches Beispiel dafür sind die ganzen Template Systeme in PHP. Wo man eine ganz normale HTML Datei schreibt und zwischendrin z.B. in eckigen Klammern bestimmte Keywords benutzt. Diese Keywords werden dann von PHP durch den eigentlichen Inhalt ersetzt.
Im professionellen Umfeld kann so z.B. ein Designer das komplette Layout entwerfen und setzt an die Stellen, wo dynamische Inhalte hinsollen einfach die Keywords ein.


EDIT: Und wenn du wirklich seeeeehr doll auf dieses Mod-Rewrite-Zeugs stehst (bzw. eher darauf, wie die Links am Ende aussehen), könntest du ja mal einen Blick auf eine ganz andere Webentwicklungs-Sprache werfen: Ruby On Rails. Für einen nicht-Ruby Entwickler ist die Sprache auf den ersten Blick total seltsam und Fremd. Ich glaub ich hab einige Wochen gebraucht, bis ich mich damit abfinden konnte :D Dafür bekommt man dann aber die ultimative Belohnung: Man kann mit ein paar Zeilen Code so ziemlich alles umsetzen, was man sich vorstellen kann und besonders die persistente Speicherung in Datenbanken kann nicht einfacher sein. Man programmiert eigentlich gar nicht mehr wirklich, sondern ist eher mit folgenden Dingen beschäftigt:
- Wie Strukturier ich meine Daten am sinnvollsten?
- Design!
Den Rest macht Rails :) (Für mich ist es nach 3 Monaten jetzt immernoch 'Magic' was da abläuft... Es funtkioniert einfach und ich weiß größtenteils nicht warum oder wie :D )
 
Zuletzt bearbeitet:
Zurück
Oben