Ankündigung

Einklappen
Keine Ankündigung bisher.

Design und Code Trennen

Einklappen

Neue Werbung 2019

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

  • Design und Code Trennen

    Servus ihr lieben,

    ich bin wieder da. ich war knapop 8 Wochen offline weil mein alter Rechner kaputt gegangen ist (Totalschaden). Jetzt hab ich einen neuen und arbeite weiter an meinem Script. Soweit zu mir.

    Also, wie man aus dem Topic erkennen kann würde ich gerne meinen HTML Code vom PHP Code rennen. Warum? Ganz einfach, da ich meine Seite selbst Programiere und evtl. irgendwann mal ein neues Design für meine Seite basteln werde und dann eben ein teamplate system ganz nützlich ist. Ausserdem ist es so übersichtlicher. Ich bin sicher ihr kennt alle die vorteile der trennung von code und design.

    Jetzt habe ich mich mal ein wenig umgeschaut und bin auf sachen wie Smarty und ähnliches gestoßen. Meine Frage ist jetzt, braucht man sowas wie Smarty unbedingt? oder kann man auch ohne zusätzliche sachen wie smarty das design vom code trennen?

    Ich habe gesehen das viele Scripte die template basiert sind mit $gettamplate oder gettemplat() arbeiten. Das sind doch php interne variablen/funktionen.

    Jetzt frage ich mich wie ich das am besten bewerkstellige. ich habe bisher mein Design komplett fertig. Ein wenig code habe ich auch shcon geschrieben, doch das ist direkt im html eingebettet, sprich das design ist nicht vom code getrennt. Und genau das möchte ich ändern.

    Lange Rede, kurzer Sinn: Wie kann ich mien bestehendes Design und mein Code-Script (was ich zur zeit schreibe) am besten und saubersten zusammen bringen ohne code und design in den dateien zu verschmelzen (template und code getrennt)?
    .visit » Tolga-Tanik.de
    .visit » TolgaTanikFoto @ Facebook
    .visit » Tolga Tanik Fotografie @ YouTube


  • #2
    Also ich mache es immer so, wenn ich eine seite hinzufüge dann kopiere ich den code von meiner index seite^^ (nur so nebenbei) aber zu deiner frage...

    du könntest ja ene seite machen die dein design enthält und dann das als template benutzen als jeden link dort ändern und alles^^

    oder wie bei foren einen header machen z.b. head.php /head.htm(l) und dann bei der seite den hedaer einfach mit
    PHP-Code:
    <?php
    include ("header.html/header.php");
    ?>
    aber ich denke mal das du das ned verstehst, weil ich das ned wirklich erklären kann ^^

    sry wenns falsch ist naja^^

    Kommentar


    • #3
      jap, ehrlichgesagt versteh ich dienen post wirklich nicht so ganz. xD
      .visit » Tolga-Tanik.de
      .visit » TolgaTanikFoto @ Facebook
      .visit » Tolga Tanik Fotografie @ YouTube

      Kommentar


      • #4
        Hie was ganz was einfaches:

        Template Engine nur mit PHP

        Kommentar


        • #5
          Hallo Teazy,

          Ich würde auf Smarty verzichten. Es ist überladen und du musst Smarty lernen, weil es schon praktisch eine eigene Sprache ist.
          Du solltest nicht vergessen, dass PHP selber schon eine Templateengine ist. Ich selber habe eine sehr einfach Templateklasse benutzt.

          PHP-Code:
          class Template {}
          public 
          __construct($pTemplateFile) {}
          public function 
          Assign($pTag$pValue) {}
          public function 
          AssignArray($pArray) {}
          public function 
          Parse() {} 
          Im Konstruktor übergibst du die HTML Datei.
          Assign setzt eine Variable für ein in der HTML Datei definiertes Tag ein.
          Assign Array macht das selbe mit assoziativen Arrays.
          Parse ersetzt alle Platzhalter/Tags mit den Werten und gibt das Template zurück (zur Weiterverarbeitung oder zur Ausgabe).

          Damit hast du Design und Code getrennt und musst auch keine neuen Sachen lernen. Du wendest einfach nur die Klasse an.

          Gruß Thomas

          Kommentar


          • #6
            Kann das jemand mal ein bisschen genauer erklären wie das funktioniert?

            Kommentar


            • #7
              Noch so einer, schau mal hier:
              http://www.php.de/php-einsteiger/1293-templates.html
              "Mein Name ist Lohse, ich kaufe hier ein."

              Kommentar


              • #8
                Lies dir mal diesen Artikel durch. Es geht um das Thema, warum Template Engines nicht sinnvoll sind.

                http://www.bastian-frank.de/site/fro...t.php?idart=47

                Kommentar


                • #9
                  wieso greifst du nicht auf typ3 oder joomla zurück ?

                  Kommentar


                  • #10
                    Zitat von SJahr Beitrag anzeigen
                    Lies dir mal diesen Artikel durch. Es geht um das Thema, warum Template Engines nicht sinnvoll sind.

                    http://www.bastian-frank.de/site/fro...t.php?idart=47
                    Hi,

                    Die Ansicht teile ich so nicht ganz. Alles was über das Ersetzen von Platzhaltern hinausgeht ist für mich überflüssig. Dort beginnt nämlich das Erlernen der neuen Syntax. Eine kleine kompakte Template Engine, welche nur das Ersetzen von Platzhaltern übernimmt ist sogar eine ausgesprochen gute Sache.

                    Wieso das Beispiel des MVC Pattern aufgeführt wird, leuchtet mir nicht ganz ein, denn man kann das Pattern mit Templates benutzen und hat ja erstmal mit der angesprochenen Problematik von Template Engines garnichts zu tun. Mit dem Hintergrund, dass der Autor nur von Template Engines wie Smarty spricht, macht es eigentlich Sinn das Thema aufzugreifen, da diese sehr viel Programmierlogik wieder in die Templates packen.

                    An andere Stelle spricht der Autor davon, wieder mehr PHP Code in HTML einzubauen, was wieder dem Gedanken der Trennung des Codes entgegenspricht. Denn nun kann der Designer nicht mehr unabhängig vom Programmierer arbeiten, da er nun auch die Variablen/Objektnamen kennen muss (er will ja die HTML Dateien includen) oder der Programmierer darf noch im nachhinein Hand an die HTML Dateien anlegen...

                    Gruß Thomas

                    Kommentar


                    • #11
                      Ich persönlich sehe das so ähnlich wie du. Mir geht es eher darum, dass die großen Engines, wie Smarty, viel zu aufgebläht sind. Ich selbst habe auch ein "kleines" Templatesystem, welches aber lediglich Platzhalter ersetzt. Nicht mehr und nicht weniger. Also eigentlich genau das, wofür Templates mal eingeführt wurden.

                      Kommentar


                      • #12
                        PHP ist zwar selbst eine Template-Sprache, aber besonders bei User-Templates gibt es doch immer das Problem der Sicherheit. Wenn man PHP-Code in Templates verwenden kann, kann man über das Template auch auf die gesamte Anwendung zugreifen. Deshalb tendiere ich immer eher zu Template-Engines, die eine eigene Syntax benutzen. Smarty finde finde ich an sich schon gar nicht schlecht.
                        Eine weitere Möglichkeit für Leute, die kein Smarty mögen, wäre die, XSLT als Template-Engine zu benutzen.
                        Refining Linux: “Performing Push Backups – Part 1: rdiff-backup

                        Kommentar


                        • #13
                          Muss ich dir leider recht geben. Aber das Risikio nehme ich persönlich in Kauf und versuche Mechanismen einzubauen, die das unterbinden. Sprich, die Daten, die ich anzeige, werden vorher alle so validiert, dass ich Sicherheitslöcher einigermaßen ausschließen kann.

                          Kommentar


                          • #14
                            Kannst du nicht. Oder wie willst du ausschließen, dass jemand deine Datenbank-Zugangsdaten ausliest und dann per fsockopen() an seinen eigenen Server sendet?
                            Refining Linux: “Performing Push Backups – Part 1: rdiff-backup

                            Kommentar


                            • #15
                              Wie soll jemand meine Datenbank-Zugangsdaten auslesen können? Alle Daten, die ich vom Benutzer bekommen werde validiert.

                              Kommentar

                              Lädt...
                              X