- Twig - - PowerPoint PPT Presentation

twig
SMART_READER_LITE
LIVE PREVIEW

- Twig - - PowerPoint PPT Presentation

- Twig View )


slide-1
SLIDE 1

یسانشراک سرد راهب۱۳۹۱-۹۲

هاگشنادص یتعن فیرش یسدنهم هدکشناد رتویپماک

تمسق۸ بلاق روتوم Twig

slide-2
SLIDE 2

ربراک اب طابترا

ربراک تامادقا تفایرد ربراک هب تاعلبطا شیامن( View )

بلاق( Template )شیامن

،یلاخ یاهاجاه هرفح ( Place Holders )

2

Hello Mohammad! Welcome to Web Programming’s class

slide-3
SLIDE 3

Twig

کی Template Engine کیتنناپماک زا Symfony2

3

Hello {{ name }} ! Welcome to {{ course }}’s class ["name" => "Mohammad", "course" => "Web Programming"]

slide-4
SLIDE 4

تارابع

Context اهریغتم اه هیارآ وءایشا

4

{{ name }} {{ person.name }} {{ person*‘name’+ }} {{ attribute(person, ‘last-name’) }} {{ now - then }} {% set then=1391 %}

slide-5
SLIDE 5

اهرتلیف

5

{{ name|title }} {{ name|upper }} {{ names|join(“, ”) }} {% filter upper }} {% endfilter %}

slide-6
SLIDE 6

یلرتنک تاروتسد

6

<ul> {% for person in persons %} <li>{{ person.name|e }}</li> {% endfor %} </ul> {% if person .name|length > 0 %} {% endif %}

slide-7
SLIDE 7

عباوت

7

{% for i in range(0, 3) %} {{ i }} : {{ names[i] }}, {% endfor %} range(low=1, high=10, step=2) {{ "now"|date(timezone="Europe/Paris") }}

slide-8
SLIDE 8

Composer

ریدماه یگتسباو

8

composer.json { "require": { "twig/twig": "1.*" } } > composer install

slide-9
SLIDE 9

Composer Auto Loading Loader Environment

9

require_once ('vendor/autoload.php'); $loader = new Twig_Loader_String(); $twig = new Twig_Environment($loader); $result = $twig->render($template, $data);

slide-10
SLIDE 10

عاونا Loader

10

$loader = new Twig_Loader_Filesystem ('/path/to/templates'); $twig = new Twig_Environment ($loader, [ 'cache' => '/path/to/compilation_cache']);

slide-11
SLIDE 11

عاونا Loader

11

$loader = new Twig_Loader_Array([ 'index.html' => 'Hello {{ name }}!‘]); $twig = new Twig_Environment($loader); $twig->render('index.html', [ 'name' => ‘Mohammad‘ ]);

slide-12
SLIDE 12

Extensionاه

رتلیف تاروتسد Loader ...

Extensioهدامآ یاه

Escaper Optimizer

12

slide-13
SLIDE 13

13

{{ user.username|raw }} {{ user.username|e}} {{ user.username|e('js') }} {{ user.username|e('css') }} {{ user.username|e('url') }} {{ user.username|e('html_attr') }} {% autoscape 'js' %} {% endautoscape %}

slide-14
SLIDE 14

include ندرب ثرا هب Context

14

<div id="sidebar"> {% include 'sidebar.html' %} </div> {% for post in posts %} {% include "post_box.html" %} {% endfor %}

slide-15
SLIDE 15

تثارو

Skeleton Blocks Overriding {{ parent() }}

15

base.html: <head> {% block head %} {% endblock %} </head> page.html : {% extends ‘base.html' %} {% block head %} <script ...></script> {% endblock %}

slide-16
SLIDE 16

Symfony Book, 2.2. http://twig.sensiolabs.org/documentation

16