MB: Seitenfragmente über SQL

Guten Tag,

wie geht PHP mit den Fragmenten der Webseite um? Ich nenne da mal Seiten-kopf, -navigation, -fuß und die ganzen Seitenartikel auf die die Seitennavigation verweist.

Ich hab mir mal das Framework banshee, zen, und andere angeschaut um die Frage zu verstehen. Ich blicke aber durch die Struktur nicht durch. Mir scheint das es noch andere Skripte als PHP gibt die diese steuern.

VLG MB

  1. Guten Tag,

    wie geht PHP mit den Fragmenten der Webseite um? Ich nenne da mal Seiten-kopf, -navigation, -fuß und die ganzen Seitenartikel auf die die Seitennavigation verweist.

    Nunja, ich hab mehrere Methoden die nacheinander aufgerufen werden:

    1. header();
    2. start_html();
    3. menu();
    4. bodybuild();
    5. footer();

    und über an den RequestURL konfigurierte Attribute befüllt die für die Response zuständige Klasse einen sogenannten STASH das ist ein Array mit Daten. O.g. Methoden rendern diese Daten in die Template's, das alles wird gepuffert und zum Schluss geht alles zum Webserver Richtung Browser.

    Der Ablauf ist bei jeder Response derselbe, außer bei Content-Types die von text/html abweichend sind, da wird nur header(); aufgerufen und anstelle STASH der CONTENT ausgegeben.

    Eigentlich alles ganz einfach ;)

    1. nabend pl,

      Eigentlich alles ganz einfach ;)

      Naja erstmal gewusst wie :-).

      Es fuchst mich dennoch die Seitenelemente. Header, footer und nav sind ja eigentlich statisch sie veränder sich nicht. Und die ganzen artikel eher dynamisch.

      Ich habe vor zu den Artikel mit rubriken dynamisch eine navigation zu erzeugen genau so wie ich es damals gemacht habe.

      Meime Frage ist ja ob restlos alle dokumente aus der Datenbank geladen werden müssen oder eher ein teil.

      vgl MB

      1. Es fuchst mich dennoch die Seitenelemente. Header, footer und nav sind ja eigentlich statisch sie veränder sich nicht.

        Sicher? Ich denke, Du siehst das zu statisch. So könnte ein Header (nicht HTTP, sondern HTML-Markup) ja durchaus einen Login / Kundenbereich enthalten. Wenn Du das seitens PHP (welcher Technik / Sprache auch immer) in der Architektur zu früh fixierst, schränkst Du Dich unnötig ein.

        Meime Frage ist ja ob restlos alle dokumente aus der Datenbank geladen werden müssen oder eher ein teil.

        Das ist Situations- und Projektabhängig. Worauf zielt Deine Frage eigentlich ab? Nicht etwa Performance, oder doch?

        Ich hab mir mal das Framework banshee, zen, und andere angeschaut um die Frage zu verstehen. Ich blicke aber durch die Struktur nicht durch. Mir scheint das es noch andere Skripte als PHP gibt die diese steuern.

        Häh?

        1. Es fuchst mich dennoch die Seitenelemente. Header, footer und nav sind ja eigentlich statisch sie veränder sich nicht.

          Sicher? Ich denke, Du siehst das zu statisch. So könnte ein Header (nicht HTTP, sondern HTML-Markup) ja durchaus einen Login / Kundenbereich enthalten. Wenn Du das seitens PHP (welcher Technik / Sprache auch immer) in der Architektur zu früh fixierst, schränkst Du Dich unnötig ein.

          Ich meine Statische elemente der Seite. Ich hab nicht an login gedacht das habe ich ausen vor gelassen. Ich wollte damit den Unterschied zuwischen statischen und Dynamischen elementen verdeutlichen. Die Überschrift des Seitenheaders "T-Online" soll immer noch "t-online" sein wenn ich auf einem anderen Artikel der Seite bin. Verstehst du meine Absicht?

          Meime Frage ist ja ob restlos alle dokumente aus der Datenbank geladen werden müssen oder eher ein teil.

          Das ist Situations- und Projektabhängig. Worauf zielt Deine Frage eigentlich ab? Nicht etwa Performance, oder doch?

          Nene warum?

          Ich hab mir mal das Framework banshee, zen, und andere angeschaut um die Frage zu verstehen. Ich blicke aber durch die Struktur nicht durch. Mir scheint das es noch andere Skripte als PHP gibt die diese steuern.

          Häh?

          Sry, ich will dmit sagen das ich die MVC Frameworks im Quellcode durchforstet habe um daraus schlau zu werden wie die gennanten Frameworks dieses Problem der Seitenfragmente gelöst haben. Besser Verstanden?

      2. Naja erstmal gewusst wie :-).

        Es fuchst mich dennoch die Seitenelemente. Header, footer und nav sind ja eigentlich statisch sie veränder sich nicht. Und die ganzen artikel eher dynamisch.

        Zwischen <head></head> hast Du schonmal einen %title% und darüber hinaus sind andere Platzhalter möglich für Referenzen zu js, css... also nimm ein Template für den head-Bereich und annalog fürn Footer.

        Ich habe vor zu den Artikel mit rubriken dynamisch eine navigation zu erzeugen genau so wie ich es damals gemacht habe.

        Auch die Navigation freut sich über ein Template. Z.B. wenn class= Attribute umzuschalten sind. Platzhalter sind auch nicht nur Literale sondern auch Listen mit veränderlicher Länge.

        Meime Frage ist ja ob restlos alle dokumente aus der Datenbank geladen werden müssen oder eher ein teil.

        Templates oder statische Seiten werden am besten aus dem Dateisystem geladen. Falls Perl und Methoden einzelne Dateien sind, kann ein Template unterhalb _DATA_ platziert sein, ebenso in einer package.

        Andere Daten können selbstverständlich auch aus einer DB geladen werden, bspw. legt ein Attribut in der Konfiguration den DSN (Data Source Name = Hostname, DB-Name, Tab-Name, User, Pass) fest.

        Wie Du siehst ist OOP nicht die Lehre von Äpfeln und Birnen sondern die Lehre von der Zweckmäßigkeit. Machst nicht so kompliziert ;)

  2. Tach!

    wie geht PHP mit den Fragmenten der Webseite um? Ich nenne da mal Seiten-kopf, -navigation, -fuß und die ganzen Seitenartikel auf die die Seitennavigation verweist.

    PHP gibt da keine Vorgaben und stellt auch keine direkten Hilfsmittel zur Verfügung. Das kannst du machen, wie du willst. Möglichkeiten sind beispielsweise: ein Haupt-Template mit dem statischen Krams, in das die eigentlichen Inhalte eingeladen werden, oder individuelle Inhaltsseiten, in die die feststehenden Dinge eingeladen werden.

    Ich hab mir mal das Framework banshee, zen, und andere angeschaut um die Frage zu verstehen. Ich blicke aber durch die Struktur nicht durch.

    Man sollte sich solche Frameworks nicht daraufhin anschauen, seine (aktuellen) Fragen beantwortet zu bekommen. Das führt eher dazu, sie sich mit Tunnelblick anzuschauen, um die Antwort zu finden. Besser ist es, neue Dinge unvoreingenommen und ohne Projekt im Hinterkopf zu erkunden, und erstmal allgemeine Erfahrungen zu ihrer Arbeitsweise und Philosophie zu sammeln. Danach kann man besser einschätzen, ob einem diese gefallen und nützlich oder eher behindernd sind. Die Dokumentation sollte beim Verstehen helfen und beschreiben, welche Teile wofür zuständig sind. Und dann kann man auch gezielter nachschauen, wie die Dinge funktionieren.

    Mir scheint das es noch andere Skripte als PHP gibt die diese steuern.

    Mitunter verwenden die Systeme Template-Systeme, obwohl PHP selbst schon eins ist. Kann durchaus auch Vorteile haben. Aber das sollte einem das Tutorial dieser Frameworks erklären.

    dedlfix.