Willkommen auf dem Portal für Mediengestalter
|
|
|
| Autor |
Nachricht |
sxs_de
Threadersteller
Dabei seit: 06.08.2007
Ort: Dettenheim
Alter: -
Geschlecht:
|
Verfasst Di 04.09.2007 21:48
Titel
|
 |
|
| labrar hat geschrieben: | Das sind nur Beispieldateinamen.
Ob die PHP jetzt fisch_kopf.func.php oder wasserfall.class.php heißt ist doch wurscht. Genauso ob du darin jetzt Klassen oder einfache Funktionen strukturierst.
Lesen und dann meckern  |
ok danke schonmal struktur hatte ich eig. immer z.b. mir gings z.b. darum wie strukturier ich meine index datei ? mit nem $_GET switch? wenns da noch ideeen gibt immer her mit
|
|
| |
|
 |
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 04.09.2007 23:21
Titel
|
 |
|
Du baust also nen CMS das keine Formulare hat? Bastel dir ne
Funktion die selbstständig nen Array mit _POST bzw _GET Daten
füllt und greift dann in der Applikation darauf zu.
|
|
| |
|
 |
sxs_de
Threadersteller
Dabei seit: 06.08.2007
Ort: Dettenheim
Alter: -
Geschlecht:
|
Verfasst Mi 05.09.2007 08:10
Titel
|
 |
|
| dastef hat geschrieben: | Du baust also nen CMS das keine Formulare hat? Bastel dir ne
Funktion die selbstständig nen Array mit _POST bzw _GET Daten
füllt und greift dann in der Applikation darauf zu. |
nein ich dachte eher an wie baue ich meinen index auf.....mal ein bsp.
| Code: | <?php
include "inc/classes/class.db.php";
include "inc/classes/class.html2text.php";
include "inc/classes/class.formcheck.php";
include "inc/classes/class.image.php";
include "inc/classes/class.search.php";
include "inc/classes/xmllib.php";
require_once "inc/config.php";
$DB = new DB(dbhost, dbname, dbuser, dbpass);
$DB->SetUtf8();
$DB->Connect();
$smarty = new smarty;
if(isset($_GET[$ident])){
switch($_GET[$ident]){
case'news':
include("core/news.php");
break;
}
}
?> |
so siehts z.b. aus dann würde ich über index?ident=news meine news seite sehn....
|
|
| |
|
 |
XSchinkenX
Dabei seit: 25.01.2004
Ort: Mars
Alter: -
Geschlecht: -
|
Verfasst Mi 05.09.2007 08:12
Titel
|
 |
|
Dazu gibts ne Funktion __autoload() mittlerweile. Ich würde mir mal das ZendFramework und den dort verwendeten ActionController anschauen.
Also im Grunde müsste man zu solchen einfachen "Wenn der User index.php?hans=wurst eingibt, dann bitte Forum/News/Blog etc."-Fragen mal ne FAQ erstellen, weil die Frage immer wieder auftaucht. In nem anderen Thread wurde diese Grundbedingung dann auch noch wild gemischt mit Anwendungsspezifischen Bedingungen (über die get-Variable wurde grob gesagt ebenfalls bestimmt, welches Kategoriefeld einer Datenbanktabelle ausgelesen werden soll)
Dass man dann in ewig verschachtelte Wenn-Dann-Konstrukte verfällt, ist quasi vorprogrammiert.
Deine Frage fällt somit eher unter das Thema Softwarearchitektur. Ein CMS besteht aus ewig vielen unterschiedlichen Paketen, da fällt es schwer zu sagen, "mach das jetzt so, oder so". Geht man aber nur von dem genannten Problem aus, nämlich der Zuweisung bestimmter Codeblöcke zu vorgegebenen Request-Events ("Benutzeraktionen"), gibt es eben bereits hunderte Standardlösungen. Eine, die sich meiner Meinung nach bewärt hat, und die ich auch erfolgreich in meinen Projekten einsetze, ist die bekannte MV-Komponente aus der MVC-Adaption auf das HTTP-Protokoll (und so gut wie jedes PHP Framework, das etwas auf sich hält, besitzt sowas).
Wie gesagt, schau dir mal das ZendFramework an, die haben das so gut wie komplett von der Ruby on Rails-Implementierung geklaut, sodass sogar Klassen- und Methodennamen im Grunde die selben sind.
Eigentlich ist das ganz einfach und wenn man will, kann man sich sowas auch mit ein paar Zeilen Code selbst zusammenstricken, wenn einem diese Routinggeschichten zu kompliziert sind. Im Grunde wird nur ein Observer auf die Request-Variablen angesetzt, der dann halt dynamisch entsprechend benannte Klassen instanziiert und die passende Methode aufruft. Du brauchst dann nur ne Klasse zu erstellen, in der dann genau das steht, was passieren soll, wenn der Benutzer ne bestimmte URL eingibt. Naja, kannste dir ja selbst mal ansehen.
Zuletzt bearbeitet von XSchinkenX am Mi 05.09.2007 08:33, insgesamt 3-mal bearbeitet
|
|
| |
|
 |
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mi 05.09.2007 16:01
Titel
|
 |
|
| sxs_de hat geschrieben: | | Code: |
if(isset($_GET[$ident])){
switch($_GET[$ident]){
case'news':
include("core/news.php");
break;
}
}
?> |
so siehts z.b. aus dann würde ich über index?ident=news meine news seite sehn.... |
Und genau dann haben wir den Fall schon .. mit Post-Daten kann
das Ding nicht nicht umgehen.
|
|
| |
|
 |
sxs_de
Threadersteller
Dabei seit: 06.08.2007
Ort: Dettenheim
Alter: -
Geschlecht:
|
Verfasst Mi 05.09.2007 17:10
Titel
|
 |
|
| XSchinkenX hat geschrieben: | Dazu gibts ne Funktion __autoload() mittlerweile. Ich würde mir mal das ZendFramework und den dort verwendeten ActionController anschauen.
Also im Grunde müsste man zu solchen einfachen "Wenn der User index.php?hans=wurst eingibt, dann bitte Forum/News/Blog etc."-Fragen mal ne FAQ erstellen, weil die Frage immer wieder auftaucht. In nem anderen Thread wurde diese Grundbedingung dann auch noch wild gemischt mit Anwendungsspezifischen Bedingungen (über die get-Variable wurde grob gesagt ebenfalls bestimmt, welches Kategoriefeld einer Datenbanktabelle ausgelesen werden soll)
Dass man dann in ewig verschachtelte Wenn-Dann-Konstrukte verfällt, ist quasi vorprogrammiert.
Deine Frage fällt somit eher unter das Thema Softwarearchitektur. Ein CMS besteht aus ewig vielen unterschiedlichen Paketen, da fällt es schwer zu sagen, "mach das jetzt so, oder so". Geht man aber nur von dem genannten Problem aus, nämlich der Zuweisung bestimmter Codeblöcke zu vorgegebenen Request-Events ("Benutzeraktionen"), gibt es eben bereits hunderte Standardlösungen. Eine, die sich meiner Meinung nach bewärt hat, und die ich auch erfolgreich in meinen Projekten einsetze, ist die bekannte MV-Komponente aus der MVC-Adaption auf das HTTP-Protokoll (und so gut wie jedes PHP Framework, das etwas auf sich hält, besitzt sowas).
Wie gesagt, schau dir mal das ZendFramework an, die haben das so gut wie komplett von der Ruby on Rails-Implementierung geklaut, sodass sogar Klassen- und Methodennamen im Grunde die selben sind.
Eigentlich ist das ganz einfach und wenn man will, kann man sich sowas auch mit ein paar Zeilen Code selbst zusammenstricken, wenn einem diese Routinggeschichten zu kompliziert sind. Im Grunde wird nur ein Observer auf die Request-Variablen angesetzt, der dann halt dynamisch entsprechend benannte Klassen instanziiert und die passende Methode aufruft. Du brauchst dann nur ne Klasse zu erstellen, in der dann genau das steht, was passieren soll, wenn der Benutzer ne bestimmte URL eingibt. Naja, kannste dir ja selbst mal ansehen. |
okay...danke werde ich mir mal anschauen!
@dastef: bsp?
|
|
| |
|
 |
| |
|
 |
| Ähnliche Themen |
LAN aufbauen - probleme..
Linie an Pfad aufbauen
w3blabor|cms - Das perfekte Mini CMS für jeden Einsatz und P
[CSS] Inhalt einer Ebene von unten aufbauen
Wordpress: Index von Kategorien aufbauen [solved]
Ohne Frames: Wie kann ich diese Seite anders aufbauen?
|
 |
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|