PHP Tutorial | Erstellen einer Template Engine in PHP [Part 1]

Поділитися
Вставка
  • Опубліковано 9 лис 2024

КОМЕНТАРІ • 48

  • @VitalijMik
    @VitalijMik  5 років тому

    Welche Template Engine benutzt du?

    • @Marco.Hochmuth
      @Marco.Hochmuth 5 років тому +1

      Blade :)
      Haha, erst war ich voll getriggert, weil ich dachte, wie jetzt, PHP ist doch eine Template Engine 🤣
      Cooles Video geworden, Abo da gelassen!

    • @VitalijMik
      @VitalijMik  5 років тому

      @@Marco.Hochmuth ha, ein laravel user. Ja streng genommen ist ja PHP da um HTML zu generieren (oder andere Datenformate) aber dennoch müssen wir Programm Logik von daratellungs Logik trennen. Nächsten Freitag wird es noch erweitert :D

    • @tunixgut2441
      @tunixgut2441 5 років тому +1

      Ich sag mal "its depends" ;)
      Wenn ich mit Symfony arbeite dann natürlich Twig, mit TYPO3 wird natürlich Fluid benutzt. Die Standalone Versionen sind ja meistens sehr abgespeckt.

    • @VitalijMik
      @VitalijMik  5 років тому

      @@tunixgut2441 Naja es gibt ja aber dennoch für sonstige Projekte eigene Favoriten, ich kenne viele die zum Beispiel auch Plates oder Twig installieren ohne jetzt Symfony direkt zu nutzen. Es gibt ja viele Packages die man installieren kann und sich sein eigenes Framework zusammenbauen kann.

    • @neoan
      @neoan 5 років тому +1

      @@Marco.Hochmuth nicht immer so schnell triggern lassen *g*
      Bezueglich RYO: was haltet ihr hiervon ua-cam.com/video/5CqklbC2ZFM/v-deo.html ?

  • @heinrichschiller4673
    @heinrichschiller4673 5 років тому

    Toll! Es werden gute Gründe und Grundlagen vermittelt für den Einsatz einer Template-Engine vermittelt UND du erklärst auch warum du eine bestimmte Engine verwendest. Mustach werde ich ausprobieren. Auf Part 2 bin ich schon sehr gespannt. Abo! Молодец :)

    • @VitalijMik
      @VitalijMik  5 років тому

      спосибо, part 2 ist schon hochgeladen um 8 Uhr wird es publiziert, gerne mal berichten wie die Erfahrung mit Mustache ist.

  • @HorstChristophSchreiber
    @HorstChristophSchreiber 3 роки тому +3

    Wirklich ein hilfreiches Video, aber leider viel zu wenige "Daumen hoch"

    • @VitalijMik
      @VitalijMik  3 роки тому

      Dankeschön für meine Verhältnisse hat es aber genügend Likes :D ich kann mich da nicht beschweren

  • @push2me936
    @push2me936 3 роки тому +1

    Top! Vielen Dank für dein Video!

  • @schallinterferenzrecords
    @schallinterferenzrecords 2 роки тому +1

    Cooler Typ! Sehr gut erklärt.
    Ich benutze nativ PHP.
    Wie sieht es denn aus wenn ich noch bootstrap als CDN Link im header lade? Ich versuch seit geraumer Zeit meine Navbar und den Footer auszulagern in Templates. Aber wenn ich die Seite dann lade, funktioniert Bootstrap nicht.
    Wie löse ich das am besten?

    • @VitalijMik
      @VitalijMik  2 роки тому +1

      Dankeschön, also ich würde CDN nicht nutzen weil man ja rechtlich die Daten der Besucher nicht weitergeben darf ohne dass die vorher zustimmmen. Ich würde bootstrap lokal installieren statt CDN zu nutzen

    • @schallinterferenzrecords
      @schallinterferenzrecords 2 роки тому +1

      ​@@VitalijMik Huch gut zu wissen! Cookie Compilance habe ich auf der Seite, aber dass die CDNs Daten weitergeben war mir nicht bekannt. Danke dafür :)

    • @VitalijMik
      @VitalijMik  2 роки тому

      @@schallinterferenzrecords wenn du eine seite besuchst und von der seite weitere daten nachgeladen werden, ist es so als würde man von seinem browser diese seiten öffnen und die anbieter der CDNs sehen die zugriffe auf deren server

  • @boothtml9069
    @boothtml9069 3 роки тому +1

    👍

  • @polyt0xX
    @polyt0xX 3 роки тому +1

    Abonniert. ;-)

    • @VitalijMik
      @VitalijMik  3 роки тому

      Willkommen:D und viel Spaß mit den Videos

  • @jonathanmertens6762
    @jonathanmertens6762 3 роки тому +1

    An sich ein gutes Video allerdings sagst du ja selber das man HTML von PHP trennen sollte daher würde ich eher mit str_replace arbeiten und zeichen bestimmen welche ich dann in meinen HTML code einsetze. Dann könnte man sich das mit ob auch sparen da man einfach file_get_contents() nutzen kann.

    • @VitalijMik
      @VitalijMik  3 роки тому +2

      ich würde es nicht, file_get_contents speichert deinen kompletten HTML Code im internen Speicher von PHP, dann kommt str_replace und der druchsucht die Strings und ersetzt diese. Ich nutze mit ob_start und extract, einfache native PHP Funktionen und der code ist wesentlich performanter als file_get_contets. Wenn du mal einen großen HTML Code damit generierst, kann es durchaus passieren dass dir der Speicher überläuft.
      Mit HTML von PHP trennen ist einfach nur gemeint dass man vorher alle seine Variablen usw vorberietet und diese dann innerhalb vom HTML Code verteilt. Dass man auch eben EVA Prinzip einhält

  • @RealLexable
    @RealLexable 2 роки тому +1

    Als wie wichtig erachtest du eigentlich Template Engines und Frameworks? Machen diese nicht eher erst ab einer gewissen Größenordnung und Komplexität einer Seite wirklich Sinn oder deiner Meinung auch schon vorher?

    • @VitalijMik
      @VitalijMik  2 роки тому

      wenn man gerade am Anfang steht ist es wichtig, weil die Template Engine dich dazu zwingt EVA Prinzip einzuhalten. Wenn man schon erfahren ist, ist es nicht mehr so wichtig weil du weißt dass du keine Logiken in die Template einbauen musst.
      Heut zu tage baut man eh das Frontend mit VueJS oder Svelte auf so dass sich die Frage eh erübrigt und auhc nicht mehr so wichtig wird

  • @Martin-xj8rp
    @Martin-xj8rp 3 роки тому +1

    Wenn man sich ältere Videos wie diese hier anschaut, kann man eine deutliche Steigerung deiner Person sowie deiner Videoqualität entnehmen. DIe Entwicklung ist klar erkennbar. :D

    • @VitalijMik
      @VitalijMik  3 роки тому

      Danken. Wäre ja schade wenn nach Zwei Jahren ich genauso wäre:D

  • @einsamerb
    @einsamerb 3 роки тому +1

    Gut gemacht das Video und man merkt Dir an das Du Spaß dabei hast. Leider für anfänger zuviele Englische Begriffe die für mich Bhf sind.. Muss auch sagen bin durch die Suche zufällig auf dich aufmerksam geworden..👍👍👍👍

    • @VitalijMik
      @VitalijMik  3 роки тому +1

      Die englischen Begriffe nutze ich weil man unter Google die meisten information dazu dann findet. Niemand sucht nach Schablone aber nach Templates. Ohne Englisch ist es auch schwierig mit der Programmierung voran zu kommen

  • @romandirks6290
    @romandirks6290 2 роки тому

    Hey, wie schaffe ich es den html content ohne ' zu übernehmen? danke!! :)

    • @VitalijMik
      @VitalijMik  2 роки тому

      Warum willst du es denn ohne übernehmen? Normalweise werden hochkommas mit Backslash escaped

    • @romandirks6290
      @romandirks6290 2 роки тому

      @@VitalijMik Danke für deine Antwort. Ich habe ganz viele Unterseiten, die jeweils einen anderen HTML Text und Bilder aufweisen, aber ansonsten gleich sind, ähnlich wie ein Blog. Vielen Dank für einen Tipp, oder einen Link, wie ich das mit php umsetzen sollte.

    • @VitalijMik
      @VitalijMik  2 роки тому

      @@romandirks6290 na wie im Video. Unten in der Beschreibung gibt es ein Link zum code

    • @romandirks6290
      @romandirks6290 2 роки тому

      @@VitalijMik wendet man das Verfahren im Video tatsächlich auch auf ganze Texte an anstatt nur auf kurze Strings an? Wenn ja, wie kann ich einen HTML code übertragen, also mit , usw.

    • @VitalijMik
      @VitalijMik  2 роки тому

      @@romandirks6290 ich verstehe die Frage nicht. Schau mal unter github.com/BlackScorp/shop/tree/master/templates da sind ja Beispiele drin

  • @tonisun4785
    @tonisun4785 2 роки тому +1

    Hi süßer Maus❤🧡💛💚💙💜🤎🖤🤍main.tpl
    function escape(array $data):array{
    $new_data = [];
    foreach ($data as $key => $value)
    $new_data[$key] = htmlspecialchars($value, ENT_QUOTES, 'UTF-8');

    return $new_data;
    }
    echo render($path, escape($data));

    • @VitalijMik
      @VitalijMik  2 роки тому

      So einfach ist es nicht. Wenn du arrays in arrays hast geht es nicht. Da fehlt Rekursion. Außerdem gibt es Fälle wo man HTML nicht escapen will.

    • @tonisun4785
      @tonisun4785 2 роки тому

      @@VitalijMik Rekursion ???? für zwei Felder ?😂🤣😂

    • @VitalijMik
      @VitalijMik  2 роки тому +1

      Wenn value ein array ist musst value durch eacape auch durchjagen. Sonst stürzt der code ab

    • @VitalijMik
      @VitalijMik  2 роки тому +1

      @@tonisun4785 If(is_array($value)) eacape($value) . Tippe vom Handy aber du weißt was ich meine

    • @tonisun4785
      @tonisun4785 2 роки тому +1

      @@VitalijMik wenn man es richtig mag nicht !😜
      function escape( $data) {
      if (is_array($data)) {
      foreach ( $data as $key => $value ) {
      $data[htmlspecialchars($key)] = escape($value);
      }
      } else if (is_object($data)) {
      $values = get_class_vars(get_class($data));
      # var_dump($values);
      foreach ( $values as $key => $value ) {
      $data->{htmlspecialchars($key)} = escape($value);
      }
      } else {
      $data = htmlspecialchars($data);
      }
      return $data;
      }