mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Di 14.10.2008 11:05 Benutzername: Passwort: Auto-Login

Thema: Wie am besten CMS aufbauen? vom 04.09.2007

Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Wie am besten CMS aufbauen?
Seite: Zurück  1, 2
Autor Nachricht
sxs_de
Threadersteller

Dabei seit: 06.08.2007
Ort: Dettenheim
Alter: -
Geschlecht: Männlich
Verfasst Di 04.09.2007 21:48
Titel

Antworten mit Zitat Zum Seitenanfang

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 <-- Schuld!


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 Lächel
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
dastef

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 04.09.2007 23:21
Titel

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden E-Mail senden
sxs_de
Threadersteller

Dabei seit: 06.08.2007
Ort: Dettenheim
Alter: -
Geschlecht: Männlich
Verfasst Mi 05.09.2007 08:10
Titel

Antworten mit Zitat Zum Seitenanfang

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.


* Ööhm... ja? * 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....
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
XSchinkenX

Dabei seit: 25.01.2004
Ort: Mars
Alter: -
Geschlecht: -
Verfasst Mi 05.09.2007 08:12
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
dastef

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 05.09.2007 16:01
Titel

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden E-Mail senden
sxs_de
Threadersteller

Dabei seit: 06.08.2007
Ort: Dettenheim
Alter: -
Geschlecht: Männlich
Verfasst Mi 05.09.2007 17:10
Titel

Antworten mit Zitat Zum Seitenanfang

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?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ä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?
Neues Thema eröffnen   Neue Antwort erstellen Seite: Zurück  1, 2
MGi Foren-Übersicht -> Programmierung


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.