Wie gestalte ich eine Index.php

apa-most

Mitglied
Hey leute wie kann ich eine Index.php gestalteten?!

ich möchte natürlich auch eine Seite haben.... wie eine art content management seite haben...

baut man in die index.php die ganzen codes dafür ein? was tabellen angeht oder kann man sowas einlesen? lassen?!
 
Also ich glaube:

a.) deine Fragestellung ist nicht eindeutig genug

oder

b.) du hast dich noch nicht richtig bzw. ansatzweise mit php/html beschäftigt

:confused:
 
Wenns eine Art CMS sein soll, schau Dir doch mal kostenlose CMS an, wie die das machen.
Wenn die Erfahrungen nicht ausreichen, um zu verstehen, was da abläuft, reicht sie erst recht nicht,
um sowas selbst zu machen.
Du mußt klein anfangen.

Ganz allgemein und alle Sicherheitsrisiken mal beiseite gelassen, kannst Du sebst entscheiden, was Du in der index.php machst.
Einige verwenden sie als Startseite Ihrer Website, andere führen dort bereits z.B. Session-Initialisierung (z.B. für Shops)
und leiten dann auf die entsprechende Datei einer ausgereiften Verzeichnisstruktur um.
 
Im groben mußt du dich vorher entscheiden welches Aufbau Schema du überhaupt verwenden möchstest.

Zb eine MVC Struktur hier wird in der Index die Bootstrap datei erstellt. Die im grunde nix anderes macht als die Grundstruktur zu laden.

Eine andere weitere möglichkeit ist die Steuerung des ablaufes der index Datei zu überlassen hierbei entscheidet dann die index Datei welche Seite angezeigt werden soll.

Einen Beispiel aufbau dafür findest du unter:
http://spacequadrat.de/tutorials/view/43/framesets-mit-php-simulieren


Mfg Splasch
 
Also ich benutze die index.php nur zum Bootstrappen. Programm-Logik kommt in Controller, Anzeige kommt in View und Datenbank/XML/$whatever kommt in Models. Aber das ist sicher eine Nummer zu weit für dne Ursprungsposter.
 
saftmeister hat gesagt.:
Also ich benutze die index.php nur zum Bootstrappen. Programm-Logik kommt in Controller, Anzeige kommt in View und Datenbank/XML/$whatever kommt in Models. Aber das ist sicher eine Nummer zu weit für dne Ursprungsposter.
Ne, genau so sollten gerade Einsteiger anfangen!
Es bringt nix ein Projekt zu entwckeln, daß eine miese Verzeichnis-Hierarchie hat, aber "irgendwie" läuft.
Der Grundstein für flexible und ausgereifte Projekte ist ein solides Gerüst in Form
der Verzeichnis-Hierarchie.

Die ist natürlich bei jedem anders, aber dafür gibt es ja keine allgemeingültige Konvention.

Fakt ist, mit dem Grundgerüst steht und fällt a) die Projekt-Qualität und b) die Ausbau-Fähigkeit, Flexibilität für spätere Erweiterungen.

Fängt man einmal mit einem miserablen Konstrukt an und möchte man später mal ein paar Module "nachrüsten",
werden die meisten besser dran tun, es komplett neu zu machen...

Also: Bitte vernünftige Verzeichnis-Struktur von Anfang an!
;)
 
Fängt man einmal mit einem miserablen Konstrukt an und möchte man später mal ein paar Module "nachrüsten",
werden die meisten besser dran tun, es komplett neu zu machen...

Wie würdest du den ein Module system aufbauen. Da sieht man immer die verschiedersten möglichkeiten. Bzw wie verhinderst du überschneidungen wenn Module durch andere Module ersetzt werden sollen.

Mfg Splasch
 
Wie würdest du den ein Module system aufbauen. Da sieht man immer die verschiedersten möglichkeiten. Bzw wie verhinderst du überschneidungen wenn Module durch andere Module ersetzt werden sollen.

Mfg Splasch

Durch Klassen-Vererbung. Wenn man eine Klasse so aufbaut, das man quasi immer nur Interfaces verwenden muss, ist man dem schon sehr nahe, was du erreichen willst.

Beispiel:

PHP:
interface Auto
{
    public function fahren();
    public function parken();
    public function reifenWechseln();
}

Dann eine konkrete Implementierung:

PHP:
class Audi implements Auto
{
    private $fahrer;

    public function fahren()
    {
        gasGeben();
        if ( !$this->getProperty("Automatic") )
        {
             $this->schalten();
        }
        ....
    }

    public function parken()
    {
         if ( $this->fahrer->geschlecht == Geschlecht::Frau )
         {
             $this->benutzEinparkHilfe();
         }
    }

    public function reifenWechseln()
    {
         $reifen = new Reifen_175_Sommer();
         $reifen_alt = $this->getReifen();
         $reifen_alt->remove();
         $this->addReifen( $reifen );
    }
}


Das kannst du nun auf ein weiteres Auto beliebig anwenden:

PHP:
class Golf implements Auto
{
    private $fahrer;

    public function fahren()
    {
        gasGeben();
        $this->schalten();
        ....
    }

    public function parken()
    {
         if ( $this->fahrer->geschlecht == Geschlecht::Frau )
         {
             die("Mach es besser selbst!");
         }
    }

    public function reifenWechseln()
    {
         $reifen = new Reifen_155_Sommer();
         $reifen_alt = $this->getReifen();
         $reifen_alt->remove();
         $this->addReifen( $reifen );
    }
}
 
Wie gesagt, die Struktur wird bei jedem etwas anders sein.
Aber in Bezug auf Module (also Ereiterung des Systems) verwende ich z.B. ein Verzeichnis modules, wo sämtliche Module abgelegt werden.
Jedes Modul wiederum in einem eigenen Ordner, der den Namen und die Versionsnummer des Modules trägt.
Im laufenden System wird der Ordner modules durchlaufen und so alle verfügbaren Module "gesammelt".
Damit habe ich den Pfad und die Modul-Namen jederzeit verfügbar.

Damit es keine Probleme im Ablauf gibt, besitzt jedes Modul eine eigene index.php,
so daß es für mein System reicht, den Pfad zum Modul anzugeben...
;)

@saftmeister:
Deine Ausführungen sind absolut korrekt, sehe ich genauso!
Denke aber, daß das nicht die Frage war...
;)
 
Zuletzt bearbeitet:
Wie gesagt, die Struktur wird bei jedem etwas anders sein.
Aber in Bezug auf Module (also Ereiterung des Systems) verwende ich z.B. ein Verzeichnis modules, wo sämtliche Module abgelegt werden.
Jedes Modul wiederum in einem eigenen Ordner, der den Namen und die Versionsnummer des Modules trägt.
Im laufenden System wird der Ordner modules durchlaufen und so alle verfügbaren Module "gesammelt".
Damit habe ich den Pfad und die Modul-Namen jederzeit verfügbar.

Damit es keine Probleme im Ablauf gibt, besitzt jedes Modul eine eigene index.php,
so daß es für mein System reicht, den Pfad zum Modul anzugeben...


@saftmeister:
Deine Ausführungen sind absolut korrekt, sehe ich genauso!
Denke aber, daß das nicht die Frage war...

Genau erkannt das war was ich meinte.
Dieses System ist mir auch schon oft in vielen Cms aufgefallen das für jedes Modul ein Verzeichniss verwendet wird. Somit ist gewährleistet das die Dateinamen sich nicht überscheinden.Was mich dabei immer gestört hat die ewig lange Schlange an Verzeichnissen die sich aber anscheinend nicht anderes Lösen läst um eben überscheidungen zu vermeiden.

Wie sieht nun mit austauschen der Module aus ohne dabei das alte zu löschen.
(So das später ein switchen der 2 Module schnell möglich ist.)
Beispiel
Ein news Modul soll durch ein anderes news Modul ersetzt werden dazu wird das alte news deaktiviert. Nun möchte ich aber nicht das man den link umschreiben muß. Woran weiß nun dann das Script das er an der stelle nun das andere Modul laden soll.

Wie habt ihr das gelöst.

Mfg Splasch
 
Zurück