Slide 1

Slide 1 text

PHP template engine Dejan Dexter Dudukovic Front-End developer EtonDigital

Slide 2

Slide 2 text

 Tvorac twiga: Fabien Potencier ( Symfony )  Twig je moderan templejt sistem za PHP  Twig je – Fast , Flexible , Secure  Sve sto vam treba je dokumentacija.

Slide 3

Slide 3 text

 Symfony  Drupal 8 ( in core )  CodeIgniter ( Spark , extension )  Zend ( extension )  Laravel Twig ( bundles )  Magento 2  WordPress ( plugin )  ……

Slide 4

Slide 4 text

 Lako !!!! - Composer (recommended ) - Git – ( development version ) - PEAR package

Slide 5

Slide 5 text

Ucitavanje biblioteke: require_once 'vendor/twig/twig/lib/Twig/Autoloader.php'; Registrovanje loadera: Twig_Autoloader::register(); Kreiranje loader objekta – ( folder za template fajlove ) $loader = new Twig_Loader_Filesystem('templates/'); Krairanje twig objekta i setovanje konfiguracije $twig = new Twig_Environment($loader , array( 'cache' => 'cache', // opcija za kesiranje stranica 'debug' => true // debug mode u development fazi ));

Slide 6

Slide 6 text

- Nadogradnja Twig funkcionalnosti kroz eksenzije $twig->addExtension( new Twig_Extension_Debug() ); - Dodavanje ( PHP funkcija u twig ) $twig->addFunction( new Twig_SimpleFunction('krumo', ‘tKrumo') );

Slide 7

Slide 7 text

Postoje 2 nacina za ucitavanje template fajlova. 1. Ucitavanje template fajla sa prosledjenim varijablama ( promenjive ) I smestanje HTML,Twig koda u varijablu. $data['content'] = $twig->render('users.twig' , $user ); 2. Ucitavanje temlate fajla i prikazivanje na stranici ( zavrsni korak ) $twig->display( 'template.twig' , $data );

Slide 8

Slide 8 text

Variable: PHP: Twig: {{ variable }} {{ variable|escape }} Funkcije i logike: {% funkcija() %} {% for user in users %} * {{ user.name }} {% else %} No user have been found. {% endfor %}

Slide 9

Slide 9 text

 Tags ( macro , autoescape , extends , set , include , filter )  Filters  Functions ( date , dump , random )  Operators  Test ( empty , even , null )

Slide 10

Slide 10 text

No content