SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Downloaden Sie, um offline zu lesen
Timo Haberkern

Twig - Workshop
Wer bin ich?
•  Leiter IT bei ROTEX Heating Systems

Timo

•  Autor für Fachzeitschriften
•  Buchautor zum Thema Symfony (1.1)
•  Trainer für Symfony, Advanced PHP,
Backbone.JS
•  @thaberkern
•  timo.haberkern@shift-up.de
Zum Workshop
•  Wir sind per Du
•  Fragen! Jederzeit!
•  Slides:
http://de.slideshare.net/thaberkern/php-summit-twig
•  Unterlagen:
http://tiny.cc/summit_twig
•  Fertiges Projekt (ab Mittwoch Abend):
https://github.com/thaberkern/phpsummit-2013-twig
Was ist Twig?
•  Eine Template-Engine für PHP
•  Nutzt die Syntax von Jinja (Python)
•  Fokus auf:
–  Flexibilität
–  Performance
–  Sicherheit
–  Erweiterbarkeit

•  Default Engine von Symfony2
Aber PHP ist doch auch eine
Templating-Sprache!

?
//	
  In	
  Plain	
  PHP	
  	
  
<?php	
  echo	
  $var;	
  ?>	
  
<?php	
  echo	
  htmlspecialchars($var,	
  ENT_QUOTES,	
  'UTF-­‐8’);	
  ?>	
  	
  
<?php	
  echo	
  e($var);	
  ?>	
  
	
  
//	
  In	
  Twig	
  -­‐	
  autoescaping	
  aktiv	
  	
  
{{	
  var	
  }}	
  	
  
	
  
//	
  In	
  Plain	
  PHP	
  	
  
<?php	
  if	
  ($items):	
  ?>	
  
	
  	
  <?php	
  foreach	
  ($items	
  as	
  $item):	
  ?>	
  
	
  	
  	
  	
  *	
  <?php	
  echo	
  $item	
  ?>	
  
	
  	
  <?php	
  endforeach;	
  ?>	
  
<?php	
  else:	
  ?>	
  
	
  	
  	
  	
  No	
  item	
  has	
  been	
  found.	
  
<?php	
  endif;	
  ?>	
  
	
  	
  
//	
  In	
  Twig	
  
{%	
  for	
  item	
  in	
  items	
  %}	
  
	
  	
  *	
  {{	
  item	
  }}	
  
{%	
  else	
  %}	
  
	
  	
  No	
  item	
  has	
  been	
  found.	
  
{%	
  endfor	
  %}	
  

Weitere ähnliche Inhalte

Andere mochten auch

夕陽絮語 難得明白
夕陽絮語 難得明白夕陽絮語 難得明白
夕陽絮語 難得明白guest2b69dc
 
時間L的價值 (很棒!)
時間L的價值 (很棒!)時間L的價值 (很棒!)
時間L的價值 (很棒!)guest2b69dc
 
Slides Master Copy 2009 Sr&amp;Ed Course W Edison Linked In
Slides   Master Copy   2009 Sr&amp;Ed Course W Edison   Linked InSlides   Master Copy   2009 Sr&amp;Ed Course W Edison   Linked In
Slides Master Copy 2009 Sr&amp;Ed Course W Edison Linked Innmatysek
 
Ccsi Power Point
Ccsi Power PointCcsi Power Point
Ccsi Power Pointmikemoreau
 
No Rules Space Organizing Personality Style Type
No Rules Space Organizing Personality Style TypeNo Rules Space Organizing Personality Style Type
No Rules Space Organizing Personality Style TypeCena Block
 
Minimalist Space Organizing Personality Style
Minimalist Space Organizing Personality StyleMinimalist Space Organizing Personality Style
Minimalist Space Organizing Personality StyleCena Block
 
Straightener Space Organizing Style Personality Preference
Straightener Space Organizing Style Personality PreferenceStraightener Space Organizing Style Personality Preference
Straightener Space Organizing Style Personality PreferenceCena Block
 
MobiCom CHANTS
MobiCom CHANTSMobiCom CHANTS
MobiCom CHANTSgsthakur
 
Brief In defense of Preference claims by trustee
Brief In defense of Preference claims by trusteeBrief In defense of Preference claims by trustee
Brief In defense of Preference claims by trusteemikemoreau
 
Sharepoint 2013 My Site Governance
Sharepoint 2013 My Site GovernanceSharepoint 2013 My Site Governance
Sharepoint 2013 My Site GovernancePonvannan Ponnuramu
 
Mejorando.la: Curso Profesional de Frontend, Dominando JavaScript
Mejorando.la: Curso Profesional de Frontend, Dominando JavaScript Mejorando.la: Curso Profesional de Frontend, Dominando JavaScript
Mejorando.la: Curso Profesional de Frontend, Dominando JavaScript David Ballén
 

Andere mochten auch (13)

夕陽絮語 難得明白
夕陽絮語 難得明白夕陽絮語 難得明白
夕陽絮語 難得明白
 
時間L的價值 (很棒!)
時間L的價值 (很棒!)時間L的價值 (很棒!)
時間L的價值 (很棒!)
 
Slides Master Copy 2009 Sr&amp;Ed Course W Edison Linked In
Slides   Master Copy   2009 Sr&amp;Ed Course W Edison   Linked InSlides   Master Copy   2009 Sr&amp;Ed Course W Edison   Linked In
Slides Master Copy 2009 Sr&amp;Ed Course W Edison Linked In
 
Ccsi Power Point
Ccsi Power PointCcsi Power Point
Ccsi Power Point
 
Soap
SoapSoap
Soap
 
No Rules Space Organizing Personality Style Type
No Rules Space Organizing Personality Style TypeNo Rules Space Organizing Personality Style Type
No Rules Space Organizing Personality Style Type
 
Minimalist Space Organizing Personality Style
Minimalist Space Organizing Personality StyleMinimalist Space Organizing Personality Style
Minimalist Space Organizing Personality Style
 
Straightener Space Organizing Style Personality Preference
Straightener Space Organizing Style Personality PreferenceStraightener Space Organizing Style Personality Preference
Straightener Space Organizing Style Personality Preference
 
MobiCom CHANTS
MobiCom CHANTSMobiCom CHANTS
MobiCom CHANTS
 
Brief In defense of Preference claims by trustee
Brief In defense of Preference claims by trusteeBrief In defense of Preference claims by trustee
Brief In defense of Preference claims by trustee
 
Sharepoint 2013 My Site Governance
Sharepoint 2013 My Site GovernanceSharepoint 2013 My Site Governance
Sharepoint 2013 My Site Governance
 
Climppf1
Climppf1Climppf1
Climppf1
 
Mejorando.la: Curso Profesional de Frontend, Dominando JavaScript
Mejorando.la: Curso Profesional de Frontend, Dominando JavaScript Mejorando.la: Curso Profesional de Frontend, Dominando JavaScript
Mejorando.la: Curso Profesional de Frontend, Dominando JavaScript
 

Ähnlich wie PHP Summit 2013 Twig Workshop

Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - KölnTipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - KölnViktor Vogel
 
Polycom Webinar: Native Anbindung von Polycom Endpunkten an Microfost Office 365
Polycom Webinar: Native Anbindung von Polycom Endpunkten an Microfost Office 365Polycom Webinar: Native Anbindung von Polycom Endpunkten an Microfost Office 365
Polycom Webinar: Native Anbindung von Polycom Endpunkten an Microfost Office 365eLink Distribution AG
 
FMK2015: Strukturierte Namensgebung als Basis für komplexe Programmierung by ...
FMK2015: Strukturierte Namensgebung als Basis für komplexe Programmierung by ...FMK2015: Strukturierte Namensgebung als Basis für komplexe Programmierung by ...
FMK2015: Strukturierte Namensgebung als Basis für komplexe Programmierung by ...Verein FM Konferenz
 
Joomlaplatform deutsch
Joomlaplatform deutschJoomlaplatform deutsch
Joomlaplatform deutschRobert Deutz
 
Scriptcs NRW Conf 2013
Scriptcs NRW Conf 2013Scriptcs NRW Conf 2013
Scriptcs NRW Conf 2013FDeitelhoff
 
PHP Templating Engines by Martin Sotirov - 20160217
PHP Templating Engines by Martin Sotirov - 20160217PHP Templating Engines by Martin Sotirov - 20160217
PHP Templating Engines by Martin Sotirov - 20160217wpmeetupka
 
Perl Renaissance Reloaded
Perl Renaissance ReloadedPerl Renaissance Reloaded
Perl Renaissance ReloadedGregor Goldbach
 
Symfony Konferenzen - Vor- & Nachteile
Symfony Konferenzen - Vor- & NachteileSymfony Konferenzen - Vor- & Nachteile
Symfony Konferenzen - Vor- & NachteilePatrick Reimers
 
Von Test nach Live mit Rex
Von Test nach Live mit RexVon Test nach Live mit Rex
Von Test nach Live mit RexJan Gehring
 
Von Test nach live mit Rex
Von Test nach live mit RexVon Test nach live mit Rex
Von Test nach live mit Rexinovex GmbH
 
Sharepointroadshow Office365 developer
Sharepointroadshow Office365 developerSharepointroadshow Office365 developer
Sharepointroadshow Office365 developeratwork
 
HTML ist tot, lang lebe HTML
HTML ist tot, lang lebe HTMLHTML ist tot, lang lebe HTML
HTML ist tot, lang lebe HTMLBenjamin Hofmann
 
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]Tommy Ziegler
 
Office 365 Einführung bei der PTM-Akademie
Office 365 Einführung bei der PTM-AkademieOffice 365 Einführung bei der PTM-Akademie
Office 365 Einführung bei der PTM-AkademieThomas Maier
 
Der gesamte Redaktionsprozess mit Open Source
Der gesamte Redaktionsprozess mit Open SourceDer gesamte Redaktionsprozess mit Open Source
Der gesamte Redaktionsprozess mit Open Sourceyellowcow
 
FMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel MoréFMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel MoréVerein FM Konferenz
 
FMK2014: FileMaker Module by Karsten Risseeuw
FMK2014: FileMaker Module by Karsten RisseeuwFMK2014: FileMaker Module by Karsten Risseeuw
FMK2014: FileMaker Module by Karsten RisseeuwVerein FM Konferenz
 

Ähnlich wie PHP Summit 2013 Twig Workshop (20)

Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - KölnTipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
 
Polycom Webinar: Native Anbindung von Polycom Endpunkten an Microfost Office 365
Polycom Webinar: Native Anbindung von Polycom Endpunkten an Microfost Office 365Polycom Webinar: Native Anbindung von Polycom Endpunkten an Microfost Office 365
Polycom Webinar: Native Anbindung von Polycom Endpunkten an Microfost Office 365
 
FMK2015: Strukturierte Namensgebung als Basis für komplexe Programmierung by ...
FMK2015: Strukturierte Namensgebung als Basis für komplexe Programmierung by ...FMK2015: Strukturierte Namensgebung als Basis für komplexe Programmierung by ...
FMK2015: Strukturierte Namensgebung als Basis für komplexe Programmierung by ...
 
Joomlaplatform deutsch
Joomlaplatform deutschJoomlaplatform deutsch
Joomlaplatform deutsch
 
NRWConf2013_T4CodeGeneration
NRWConf2013_T4CodeGenerationNRWConf2013_T4CodeGeneration
NRWConf2013_T4CodeGeneration
 
Scriptcs NRW Conf 2013
Scriptcs NRW Conf 2013Scriptcs NRW Conf 2013
Scriptcs NRW Conf 2013
 
PHP Templating Engines by Martin Sotirov - 20160217
PHP Templating Engines by Martin Sotirov - 20160217PHP Templating Engines by Martin Sotirov - 20160217
PHP Templating Engines by Martin Sotirov - 20160217
 
Perl Renaissance Reloaded
Perl Renaissance ReloadedPerl Renaissance Reloaded
Perl Renaissance Reloaded
 
Symfony Konferenzen - Vor- & Nachteile
Symfony Konferenzen - Vor- & NachteileSymfony Konferenzen - Vor- & Nachteile
Symfony Konferenzen - Vor- & Nachteile
 
Von Test nach Live mit Rex
Von Test nach Live mit RexVon Test nach Live mit Rex
Von Test nach Live mit Rex
 
Von Test nach live mit Rex
Von Test nach live mit RexVon Test nach live mit Rex
Von Test nach live mit Rex
 
Sharepointroadshow Office365 developer
Sharepointroadshow Office365 developerSharepointroadshow Office365 developer
Sharepointroadshow Office365 developer
 
HTML ist tot, lang lebe HTML
HTML ist tot, lang lebe HTMLHTML ist tot, lang lebe HTML
HTML ist tot, lang lebe HTML
 
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]
 
Symfony2 admin bundles
Symfony2 admin bundlesSymfony2 admin bundles
Symfony2 admin bundles
 
Office 365 Einführung bei der PTM-Akademie
Office 365 Einführung bei der PTM-AkademieOffice 365 Einführung bei der PTM-Akademie
Office 365 Einführung bei der PTM-Akademie
 
Der gesamte Redaktionsprozess mit Open Source
Der gesamte Redaktionsprozess mit Open SourceDer gesamte Redaktionsprozess mit Open Source
Der gesamte Redaktionsprozess mit Open Source
 
FMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel MoréFMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel Moré
 
FMK2014: FileMaker Module by Karsten Risseeuw
FMK2014: FileMaker Module by Karsten RisseeuwFMK2014: FileMaker Module by Karsten Risseeuw
FMK2014: FileMaker Module by Karsten Risseeuw
 
PHP5 und Oracle
PHP5 und OraclePHP5 und Oracle
PHP5 und Oracle
 

PHP Summit 2013 Twig Workshop

  • 2. Wer bin ich? •  Leiter IT bei ROTEX Heating Systems Timo •  Autor für Fachzeitschriften •  Buchautor zum Thema Symfony (1.1) •  Trainer für Symfony, Advanced PHP, Backbone.JS •  @thaberkern •  timo.haberkern@shift-up.de
  • 3.
  • 4. Zum Workshop •  Wir sind per Du •  Fragen! Jederzeit! •  Slides: http://de.slideshare.net/thaberkern/php-summit-twig •  Unterlagen: http://tiny.cc/summit_twig •  Fertiges Projekt (ab Mittwoch Abend): https://github.com/thaberkern/phpsummit-2013-twig
  • 5. Was ist Twig? •  Eine Template-Engine für PHP •  Nutzt die Syntax von Jinja (Python) •  Fokus auf: –  Flexibilität –  Performance –  Sicherheit –  Erweiterbarkeit •  Default Engine von Symfony2
  • 6. Aber PHP ist doch auch eine Templating-Sprache! ?
  • 7. //  In  Plain  PHP     <?php  echo  $var;  ?>   <?php  echo  htmlspecialchars($var,  ENT_QUOTES,  'UTF-­‐8’);  ?>     <?php  echo  e($var);  ?>     //  In  Twig  -­‐  autoescaping  aktiv     {{  var  }}      
  • 8. //  In  Plain  PHP     <?php  if  ($items):  ?>      <?php  foreach  ($items  as  $item):  ?>          *  <?php  echo  $item  ?>      <?php  endforeach;  ?>   <?php  else:  ?>          No  item  has  been  found.   <?php  endif;  ?>       //  In  Twig   {%  for  item  in  items  %}      *  {{  item  }}   {%  else  %}      No  item  has  been  found.   {%  endfor  %}