Ankündigung

Einklappen
Keine Ankündigung bisher.

Video Tutorial: Template Engine Part 2

Einklappen

Neue Werbung 2019

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

  • Video Tutorial: Template Engine Part 2


    Guten Morgen,

    im heutigen Video habe ich die Template Engine erweitert mit layouts und sections. Die Schriftgröße wurde auch vergrößert und die Ordner Struktur ausgeblendet, jetzt sieht man viel mehr Code Quellcode zum Video wie immer in der Beschreibung

    Viel Spaß damit.
    apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

  • #2
    Moin,
    ist schwer sicb zu überlegen was wie in eine template engine gehört, das verstehe ich.
    die idee mit section finde ich an und für sich nicht schlecht, einzig stösst mir die fehlende verschachtelungsmöglichkeit auf; es wird ja dom gerendert.

    zudem ist ein
    PHP-Code:
    section('foo');
    section('foo');
    section('foo');
    section('foo');
    section('foo'); 
    irgendwann auch nicht mehr so lesbar

    und was passiert wenn wie oben eine ungerde zahl steht ?

    ich fände ein section mit name und position on/off start/end oder so intuitiv eine bessere lösung.

    Kommentar


    • #3
      Zitat von tomBuilder Beitrag anzeigen
      Moin,
      ist schwer sicb zu überlegen was wie in eine template engine gehört, das verstehe ich.
      die idee mit section finde ich an und für sich nicht schlecht, einzig stösst mir die fehlende verschachtelungsmöglichkeit auf; es wird ja dom gerendert.

      zudem ist ein
      PHP-Code:
      section('foo');
      section('foo');
      section('foo');
      section('foo');
      section('foo'); 
      irgendwann auch nicht mehr so lesbar

      und was passiert wenn wie oben eine ungerde zahl steht ?

      ich fände ein section mit name und position on/off start/end oder so intuitiv eine bessere lösung.
      Verschachtelung kann man via Include umsetzen, die Section ist ja nur dazu da um innerhalb vom Layout neue Variablen zu erzeugen und diese da drin zu verteilen.

      Wenn du ungerade Anzahl an sections hast, wirst du spätestens beim layout() den OB Output leeren, hätte da wohl eine Fehlermeldung einbauen müssen, wenn sections noch nicht zu ende sind. Aber zu viele Sections würden halt auch ab irgend einem Zeitpunkt kein Sinn mehr machen. Ich hatte halt ein Extrem Fall in einem Test Projekt, das war aber die Landing Page die News und Forum beiträge und und und drin hatte. Und selbst das sah dann so aus

      PHP-Code:
      layout('layout/landing.php');

      section('news');
      require_once 
      __DIR__'/news.php';
      section('news');
      /* weitere sections */
      layout(); 
      wurde für ein Extrem Fall benutzt, war ok soweit.
      apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

      Kommentar


      • #4
        Zitat von BlackScorp Beitrag anzeigen

        Verschachtelung kann man via Include umsetzen, die Section ist ja nur dazu da um innerhalb vom Layout neue Variablen zu erzeugen und diese da drin zu verteilen.
        Gut, dann habe Deine TemplateEngine einfach nicht verstanden.

        Kommentar


        • #5
          Zitat von tomBuilder Beitrag anzeigen

          Gut, dann habe Deine TemplateEngine einfach nicht verstanden.
          Also die Videos aktuell sind einfach nur ein Vorgeplänkel für ein Projekt was ich umsetzen will.

          Also laut der Doku https://www.php.net/ob_get_contents geht sogar sowas

          PHP-Code:
          section('parent')
          section('child')
          section('child')
          section('parent'
          ob stackt da automatisch, im Layout könnte ich dann child und parent an unterschiedlichen Stellen ausgeben weil die Funktion section eine neue Variable erzeugt.

          mir fällt halt kein Sinnvoller UseCase dafür ein
          apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

          Kommentar


          • #6
            wie gesagt, ich habe es nicht verstanden.
            gerade der Code oben legt was anderes nahe als tatsächlich passiert, wenn ich das richtig vertanden habe.

            Kommentar


            • #7
              Zitat von tomBuilder Beitrag anzeigen
              wie gesagt, ich habe es nicht verstanden.
              gerade der Code oben legt was anderes nahe als tatsächlich passiert, wenn ich das richtig vertanden habe.
              Ich habe halt versucht das zu imitieren

              https://twig.symfony.com/doc/2.x/functions/block.html

              da steht aber auch endblock, vielleicht mache ich dann auch ein endsection() hast schon Recht, wenn ich dann mein Anfänger Framework vorstelle werde ich das und andere Vorschläge mit einbauen
              apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

              Kommentar

              Lädt...
              X