Ankündigung

Einklappen
Keine Ankündigung bisher.

Layout und Code trennen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Layout und Code trennen

    Hallo

    Ich bin es gewohnt, ein Layout zu haben und "darauf" zu coden.
    Das sieht dann so aus, dass ich Klassen aus CSS gleich mit in den Code rein packe. Aber das ist ja nicht wirklich Code von Layout getrennt.

    Wenn ich z.b. eine Ausgabe habe, die ich in einer Whileschleife in eine Tabelle hämmere, dann verwende ich zur formatierung schon im Code eine klasse.

    Code:
    <table>
    <tr><td>Beispiel</td><td>Daten</td>
    while($ich != $du)
    {
    echo '<tr><td>'.$Ich.' nicht</td><td>'.$Du.'</td></tr>';
    $ich++;
    }
    </table>
    Normal hat diese Tabelle jetzt ein klasse, dann kommt noch in die While eine If(%2) abfrage rein und nochmal 2 klassen um die Hintergrundfarbe von TR zu definieren usw.

    Aber wie umgeht man sowas? oder ist es dann aufgabe von Designer die klassen auf ein neues Template anzupassen?
    Der Unterschied zwischen dem richtigen Wort und dem beinahe richtigen ist derselbe Unterschied wie zwischen dem Blitz und einem Glühwürmchen.

  • #2
    Hi
    um Layout und Code zu trennen verwenden viele Frameworks das MVC (Model View Controller) Prinzip. Schau dir mal das Zend Framework dazu an, oder das Prado Framework.
    Dort wirst du erkennen, wie man sowas in PHP umsetzt.

    Fröhliche Grüße
    Andree

    Kommentar


    • #3
      ich weiß nicht ganz, ob dir das hilft, aber ich würd ein Template Engine System verwenden, z.b. Smarty
      PHP-Code:
      if ( $humans >= ) {
         
      war ();

      Kommentar


      • #4
        Ich weiß nicht, worauf Du hinaus willst, Steini.
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #5
          Zitat von PhillKill12 Beitrag anzeigen
          ich weiß nicht ganz, ob dir das hilft, aber ich würd ein Template Engine System verwenden, z.b. Smarty
          http://www.bastian-frank.de/site/fro...t.php?idart=47

          Kommentar


          • #6
            Zitat von tarzanhb Beitrag anzeigen
            Hi
            um Layout und Code zu trennen verwenden viele Frameworks das MVC (Model View Controller) Prinzip. Schau dir mal das Zend Framework dazu an, oder das Prado Framework.
            Dort wirst du erkennen, wie man sowas in PHP umsetzt.

            Fröhliche Grüße
            Andree
            Zitat von PhillKill12 Beitrag anzeigen
            ich weiß nicht ganz, ob dir das hilft, aber ich würd ein Template Engine System verwenden, z.b. Smarty
            Das schiest alles weit über das Ziel hinaus. Wenn ich z.b. eine phpdatei habe mit einem Formular, eine mit einer liste und eine mit auswahlmöglichkeiten so wie 2 oder 3 weitere mit funktionen. Dann kann ich doch nicht 50+ Datein einfügen um 3 Datein (6 php funktionen) vom Design zu trennen...
            Zitat von nikosch Beitrag anzeigen
            Ich weiß nicht, worauf Du hinaus willst, Steini.
            ich möchte Code (u.A. auch Datenbank-Ausgaben) von HTML befreien. Aber ich denke, dass das nicht möglich sein wird.
            ich möchte z.b. die Auflistung der Ausgabe meiner Datenbankabfrage so gestalten, dass ich kein HTML beötige, es im nachhinein aber immer noch formatieren kann.
            Der Unterschied zwischen dem richtigen Wort und dem beinahe richtigen ist derselbe Unterschied wie zwischen dem Blitz und einem Glühwürmchen.

            Kommentar


            • #7
              Es gibt da mehrere Ansätze:

              1. CSS-Selektoren verwenden. Aktuell kann CSS noch nicht browserübergreifend :nth-child u.ä. Spezialitäten

              2. Javascript nicht nur als Behaviour-Layer, sondern auch, um Layoutspezifika zu ergänzen. z.B. die CSS-Klassen odd/even für die einzelnen Tabellenzeilen

              3. Eine Templateengine verwenden, die als zusätzlicher Layer zwischen PHP und HTML fungiert und Spezifika wie Zebra-Stripes unterstützt.

              4. Alles so lassen wie es ist. Im Endeffekt gibt PHP ja auch HTML aus, da könnte man genauso bemeckern, dass PHP nicht die Struktur der Website zu definieren hat, sondern nur die Daten liefern soll. Was dann wieder zu 3) führt oder zur Erkenntnis, dass man hier PHP zweierlei nutzen kann, meinetwegen auch physisch getrennt. Arbeitsscripte und Darstellungsscripte, das geht dann in Richtung MVC.
              [COLOR="#F5F5FF"]--[/COLOR]
              [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
              [COLOR="#F5F5FF"]
              --[/COLOR]

              Kommentar

              Lädt...
              X