Ankündigung

Einklappen
Keine Ankündigung bisher.

Demoversion für die Templateklasse PbTpl

Einklappen

Neue Werbung 2019

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

  • Demoversion für die Templateklasse PbTpl

    Hallo zusammen,

    für meine Template-Klasse PbTpl habe ich jetzt bei Github ein kleines Tutorial innerhalb einer installierbaren Beispielanwendung veröffentlicht:

    https://github.com/pbieling/pbtpl-demo

    Mein Templatekonzept verzichtet auf Logik (z.B. Loops) im Template und nutzt auch keine PHP-Variablen im Template. Es lassen sich mehrere Templates in einem Templateobjekt verwalten, was sehr viele Möglichkeiten bietet.

    Das Konzept ist seit über 20 Jahren erprobt und hat sich bewährt (1).

    Die aktuelle Version ist hier zu finden:
    https://github.com/pbieling/pbclasses-min
    Darin ist auch eine Pdo-Klasse (Querybuilder), die bisher aber nur für MySQL getestet ist.
    Eine Doku dafür kommt moch.
    Es gibt aber einen Testordner mit Tests für PbTpl und PdoSql.

    Da ich hier immer sehr viel PHP-HTML-Mischcode zu sehen bekomme, möchte ich gerade auch die Anfänger auffordern, sich mit Templastes zu bechäftigen.

    Über Rückmeldungen freue ich mich. Verbesserungsvorschläge versuche ich zu berücksichtigen.
    Noch nicht erwähnt ist in der Doku, dass sich Templates auch per String übergeben lassen und nicht nur per Datei. Da kommt moch ein Beispiel.

    Viele Grüße
    Peter


    [1] Eine Vorgängerversion findet man (aus historischen Gründen. noch hier:
    https://www.media-palette.de/tools/pb-tpl/


  • #2
    // gelöscht erst ´jetzt erkannt das
    https://github.com/pbieling/pbtpl-demo/tree/main
    bispiele für
    https://github.com/pbieling/pbclasse.../src/PbTpl.php
    sind.
    damit verstehe ich dsas ganze noch weniger - bin raus

    Kommentar


    • #3
      Man kann auc hhier anfangen:
      https://www.media-palette.de/demo/tp...ples/index.php

      Kommentar


      • #4


        The class is used in conjunction with HTML templates, XML templates or other text templates and does not require logic in the template, in contrast to many other template systems.


        dein unique selling point hab ich realisiert.
        die möglichkeit logic ins template einzubauen macht es mE mächtig.

        we3nn ich mir bspw das zusammenspiel zwischen


        Code:
        https://github.com/pbieling/pbtpl-demo/blob/main/examples/templates/content_hello.tpl
        https://github.com/pbieling/pbtpl-demo/blob/main/examples/example_01.php
        https://github.com/pbieling/pbtpl-demo/blob/main/examples/includes/inc_01.php

        anschaue, so wird da mE einfach zu wild hin und hertgesprungen, von includes zurückgegeben etc

        mal angeshen davon, wäre mir ein aufbau mit einmaliger definition
        Code:
        tlp_fpl = ""
        inc_file= ""
        sowie die erklärung
        Code:
        tpl file must contain, should not contain 
        inc file must contain, should not contain
        wesentlich liieber

        Kommentar


        • #5
          Kleiner Nachtrag: Es gibt jetzt auch eine Dockerversion, mit der man das Konzept vielleicht noch etwas einfacher nachvollziehen kann:
          https://github.com/pbieling/pbtpl-de...main/README.md

          Ein Artikel auf Deutsch über verschiedene Template-Engines und -Konzepte ist gerade in Arbeit und folgt in Kürze.

          Kommentar


          • #6
            Verbesserungsvorschläge (freundlich gemeint)
            README-Dokumentation ausbauen, Es fehlen noch strukturierte Beispiele für:
            Template-Vererbung / Includes
            Übergabe via String (wie du erwähnt hast)
            Verschachtelte Blöcke (falls vorgesehen)
            Verwendung mit dem PdoSql-Querybuilder in Kombination

            Typisierung in PHP nutzen
            Bei der weiteren Pflege könntest du moderne PHP-Features (ab PHP 7.4+) einsetzen: z.B. Typdeklarationen oder Return Types.

            Composer-Unterstützung
            Wenn noch nicht vorhanden: eine composer.json wäre hilfreich für einfache Installation in modernen Projekten.

            Beispielanwendung mit Routing
            Für Neulinge ist ein Mini-MVC-Setup (z. B. ein einfaches index.php mit Routing) oft ein guter Einstieg in templatebasiertes Arbeiten.
            sorry, shift-taste kaputt

            Kommentar


            • #7
              Zitat von Meister1900 Beitrag anzeigen
              Typisierung in PHP nutzen
              Bei der weiteren Pflege könntest du moderne PHP-Features (ab PHP 7.4+) einsetzen: z.B. Typdeklarationen oder Return Types.

              Composer-Unterstützung
              Wenn noch nicht vorhanden: eine composer.json wäre hilfreich für einfache Installation in modernen Projekten.
              Es geht ja in erste Linie um die beiden Klassen
              https://github.com/pbieling/pbclasse.../src/PbTpl.php
              und
              https://github.com/pbieling/pbclasse.../DB/SqlPdo.php

              Man kann jetzt nicht sagen, dass es da keine Typdeklarationen gibt. Verbessern kann ich aber tatsächlich noch einiges. Das muss ich leider auch feststellen.

              Das Zusammenspiel von PDO-Klasse und PbTpl wird hier gezeigt:
              https://www.media-palette.de/demo/tp...example_05.php

              https://www.media-palette.de/demo/tp...example_03.php
              zeigt, wie verschachtelt wird.
              Noch einmal: Die Logik wird von PHP außerhalb derTemplates bereitgestellt.
              Eine Template-Datei enthalt 1 - n Templates, mit denen operiert wird.
              Mein Artikel ist schon ziemlich weit fertig. Da vergleiche ich verchiedene Template-Konzepte.

              Für die Installation mit Composer kann man diese Datei verwenden:
              https://github.com/pbieling/pbtpl-de.../composer.json

              Auf das Routing hatte ich verzichtet, um eine sofort lauffähige Demo zu bekommen, die auch im Unterverzeichnis funktioniert. Meine Methode führt aber offebar eher zur Verwirrung. Vermutlich muss ich noch mehr von meinem Framework veröffentlichen, damit man den Nutzen richtig sieht.

              Vielen Dank für deine Anregungen und dass du dir die Zeit genommen hast.




              Kommentar


              • #8
                Vielen Dank. Ich hatte vorhin geantwortet. Die Nachricht wurde als nicht freigeschaltet angezeigt und war dann verschwunden. Mal sehen, ob noch etwas passiert.

                Kommentar

                Lädt...
                X