Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: PHP-Datein strukturieren

  1. #1
    destructor
    Gast

    Standard PHP-Datein strukturieren

    Es gibt mehrere Möglichkeiten eine PHP-Datei zu strukturieren. (Für mehrere Unterseiten (mit dynamischem Inhalt))

    1.) Man erstellt einzelne Datein, in denen man den haeder und footer des Designs includet.
    2.) Man erstellt oben in der index.php ein Switch-Case. An der Stelle, wo der Content hin soll, wird dann die jeweilige Datei include (also das Gegenteil von 1)
    3.) Man erstellt eine Datei, in der man viele IF-Anweisungen einfügt. Zum Beispiel if $site = "kategorien" {echo "...

    Also mir gefällt Variante 2 am besten, nur wie mach ich das mit dem title, den metatags etc? Diese Daten erscheinen ja erst an der Stelle, wo die Datei included wird?

    Außerdem gibt es das Problem, dass in meiner includierten Datei keine Header und keine Cookies mehr gesendet werden können (header is already...)

    SWITCH-CASE

    TITLE / METATAGS

    DESIGN

    INCLUDING


    Oder gibt es noch andere Möglichkeiten, PHP-Dateien, mit mehreren Unterseiten zu strukturieren?
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    König(in)
    Registriert seit
    06.06.2007
    Ort
    Bi
    Beiträge
    1.015
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Grundsätzlich würde ich variante 2 benutzen. Grund für jede Variante gibt es genug, allerdings brauchst du wesentlich weniger Code für die gleichen Routinen, sprich 1mal eine Methode, die mit if / switch die entsprechenden Daten abfragt, als wenn du n-mal eine Methode wiederholst (auch ohne Abfragen wesentlich unsauberer -> du wirst bei einer kleinen Strukturveränderung in allen Seiten den selben Code ändern und anpassen müssen.
    Es gibt sicher noch mehr Argumente, aber das grade mal so aus der Hand geschrieben.

    Edit: verlesen.
    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.

    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  3. #3
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ich erklär dir mal, wie ich es mache, ist ein wenig wie Variante 2 aber nicht mit switch:
    Ich habe eine Datei, in der ich mehre arrays definiere, nennen wir sie $site für die urls, $keys für die keywords, $title für die titel, $desc für die Beschreibung in den Metatags und $topic für den Metatag fürs Thema.
    Also die Datei sieht so aus:
    Code:
    <?
    $site = array&#40;&#41;;
    $site&#91;'start'&#93; = 'Seiten/Start.php';
    $site&#91;'impressum'&#93; = 'Seiten/Impressum.php';
    ...
    $keys = array&#40;&#41;;
    $keys&#91;'start'&#93; = "Meine Seite, Thema, blabla";
    $keys&#91;'impressum'&#93; = "Impressum, Rechtshinweise, Kontakt, Meine Seite, blabla";
    ...
    $title = array&#40;&#41;;
    $title&#91;'start'&#93; = "Start";
    $title&#91;'impressum'&#93; = "Impressum - Kontakt";
    ...
    $desc = array&#40;&#41;;
    $desc&#91;'start'&#93; = "Beschreibung meiner Seite";
    $desc&#91;'impressum'&#93; = "Impressum meiner Seite mit Kontaktmöglichkeit";
    ...
    $topic = array&#40;&#41;;
    $topic&#91;'start'&#93; = "Thema meiner Seite";
    $topic&#91;'impressum'&#93; = "Impressum und Kontakt";
    ...
    if&#40;isset&#40;$_GET&#91;'siteid'&#93;, $site&#91;$_GET&#91;'siteid'&#93;&#93;&#41;&#41;
      $siteid = $_GET&#91;'siteid'&#93;;
    else
      $siteid = 'start';
    ?>
    Die letzten vier Zeilen schauen dann, ob der Getparameter für die Seite gültig ist und setzen die ID ansonsten auf Start.
    Am Anfang deiner index.php includest du dann diese Datei.
    Die betreffenden Teile des Head sehen dann so aus:
    Code:
    <meta name="description" content="<? echo $desc&#91;$siteid&#93;; ?>">
    <meta name="keywords" content="<? echo $keys&#91;$siteid&#93;; ?>">
    <meta name="page-topic" Content="<? echo $topic&#91;$siteid&#93;; ?>">
    <title>
    Meine Seite - <? echo $title&#91;$siteid&#93;; ?>
    </title>
    Und in dem div, in den der Content reinsoll:
    Code:
    include&#40;$site&#91;$siteid&#93;&#41;;
    Das ist eigentlich sehr schön, zumindest wenn man keine Datenbank verwenden möchte.
    Bei mir habe ich das ganze mit mod_rewrite etwas aufgepeppt, sodass der Besucher nicht dieses ?siteid=irgendwas sieht, sondern eine schöne Url, die dahin umgeleitet wird.

    Viele liebe Grüße
    The User

  4. #4
    Kaiserliche Hoheit Avatar von No0ob
    Registriert seit
    02.01.2006
    Ort
    Nähe Frankfurt
    Beiträge
    1.500
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Nummer 1
    Wuesst jetzt nicht, was ich noch sagen soll

  5. #5
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Der klare Vorteil von Nr. 2 ist:
    Man hat das gesamte Design in einer Datei, die anderen Dateien müssen sich nur um den Inhalt kümmern, ihnen kann es relativ egal sein, wie das Layout aussieht.
    Außerdem kann man schnell Sachen wie Metatags hinzufügen, mit 1 müssten die einzelnen Seiten entweder ganz viele Seiten includen, um jeweils noch dazwischen die Metatags und den Titel zu bekommen, oder sogar Teile des Layouts übernehmen, und das wäre ja nicht schön.
    Den Header kannst du bei Nr. 2 einfach oben in die index.php schreiben, fertig.
    Möchtest du manchmal Unterseiten alleine testen und sie sind auf einen Header angewiesen (mir viele da nur session_start() ein), würde ich dir empfehlen, eine Datei session_start.php anzulegen, und diese schamlos bei allen Dateien, die sie benötigen sowie bei der Hauptdatei jeweils ganz oben mit include_once "session_start.php"; einzubinden.
    Dadurch gewährleistest du, dass der Header immer da ist, auch wenn du nur eine Teilseite hast.

    Viele liebe Grüße
    The User

  6. #6
    asdfasdf
    Gast

    Standard

    includen geht aber nur, wenn der header nicht mehr gesendet wird. Weil wenn der Header nicht mehr gesendet wird, kommt ein Parseerror, welcher zur Folge hat, dass einige Variablen nicht mehr lesbar sind.

  7. #7
    Prinz(essin) Avatar von Greg10
    Registriert seit
    12.05.2007
    Beiträge
    825
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    include_ONCE inkludiert nur EINMAL wie der name sagt

    lesen, denken, DANN posten
    Orthografie und Grammatik in diesem Beitrag sind frei erfunden und eine eventuell gefundene Übereinstimmung mit einer lebenden oder toten Sprache sollte von allen Beteiligten unverzüglich ignoriert werden.

    K-Progs (In bearbeitung)
    Der inoffizielle Forum-hilfe IRC-Channel
    (Server: irc.freenode.net ; Channel: #forum-hilfe) (Client für FF)
    Ich hab auch 'n Jabber-Account beim CCC

  8. #8
    Kaiserliche Hoheit Avatar von No0ob
    Registriert seit
    02.01.2006
    Ort
    Nähe Frankfurt
    Beiträge
    1.500
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Was hat include mit headern zu tun?

  9. #9
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    oder man benutzt ein templatesystem in dem die ganze Seite vertig als HTML getippt ist und bestimmte Platzhalter nur ersetzt werden.

    Find diese 4. Möglichkeit am besten
    Something big is coming. And there will be pirates and ninjas and unicorns...

  10. #10
    Prinz(essin) Avatar von Greg10
    Registriert seit
    12.05.2007
    Beiträge
    825
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    wenn du session_start() mehr als einmal includierst kriegst'n fehler darauf wollte er hinweisen.
    ich habe darauf hingewiesen, dasses nur einmal includiert wird
    Orthografie und Grammatik in diesem Beitrag sind frei erfunden und eine eventuell gefundene Übereinstimmung mit einer lebenden oder toten Sprache sollte von allen Beteiligten unverzüglich ignoriert werden.

    K-Progs (In bearbeitung)
    Der inoffizielle Forum-hilfe IRC-Channel
    (Server: irc.freenode.net ; Channel: #forum-hilfe) (Client für FF)
    Ich hab auch 'n Jabber-Account beim CCC

Ähnliche Themen

  1. .SWF datein
    Von binichhierrichtig? im Forum HTML & CSS Forum
    Antworten: 4
    Letzter Beitrag: 15.11.2007, 09:35
  2. Text-Ticker strukturieren
    Von fritz-1 im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 20.05.2007, 13:44
  3. mp3 und m3u datein...
    Von Powerigel im Forum Computer - Internet Forum
    Antworten: 2
    Letzter Beitrag: 06.03.2006, 22:08
  4. Homepage strukturieren (auf Server)
    Von im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 11.01.2006, 14:54
  5. FDF DATEIN
    Von Alina im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 13.06.2004, 18:59

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •