Внедрение компонента templating в существующий проект

27
компонент symfony templating внедрение в существующий проект Станислав В. Сметанин www.smetanin-online.name [email protected] Киев - Июль 2010

Upload: stanislaw-smetanin

Post on 08-Jul-2015

1.722 views

Category:

Technology


4 download

DESCRIPTION

Что такое sf templating component? templating как мета-шаблонизатор Три кита templating Что такое Twig? План внедрения

TRANSCRIPT

Page 1: Внедрение компонента templating в существующий проект

компонент symfony templating

внедрение в существующий проект

Станислав В. Сметанин[email protected]

Киев - Июль 2010

Page 2: Внедрение компонента templating в существующий проект

Кто я? / whoamiWeb-разработчик, в индустрии с 2005 годаПрограммирую на PHP 5 летАктивно использую symfony 1.x около годаФулл-тайм в rubashka-na-zakaz.ru

Page 3: Внедрение компонента templating в существующий проект

Поговорим оЧто такое sf templating component? templating как мета-шаблонизаторТри кита templatingЧто такое Twig?План внедренияВаши вопросы

Page 4: Внедрение компонента templating в существующий проект

Что такое sf templating component?Часть symfony 2.0Один из плеяды components.symfony-project.orgЛёгкий в использовании шаблонизатор

Page 5: Внедрение компонента templating в существующий проект

Templating как мета-шаблонизатор

1. "Simple yet powerful templating framework"

2. "The Symfony Templating component provides all the tools needed to build any kind of template system"

Page 6: Внедрение компонента templating в существующий проект

Три кита templating

1. Loaders: "как загрузить шаблон?"2. Helpers: "как упростить написание шаблонов?"3. Renderers: "как интерпретировать загруженный шаблон?"

Page 7: Внедрение компонента templating в существующий проект

Loaders - как / откуда загружаем шаблон?

Файловая системаБаза данныхFTP-серверОткуда угодно...

Page 8: Внедрение компонента templating в существующий проект

Loader #1 - файловая система

Page 9: Внедрение компонента templating в существующий проект

Loader #2 - база данных

Page 10: Внедрение компонента templating в существующий проект

Loader #3 - FTP сервер

Page 11: Внедрение компонента templating в существующий проект

Loaders - вывод

Шаблоны могут храниться где угодно!вам лишь нужен подходящий loaderкоторый легко написать самому :)

Page 12: Внедрение компонента templating в существующий проект

Helpers - как упростить написание шаблонов?

Подключение JavaScript - файловПодключение CSS - файловВывод meta - тэговЛюбая повторяющаяся функция...

Page 13: Внедрение компонента templating в существующий проект

Helper #1 - подключение JavaScript

Page 14: Внедрение компонента templating в существующий проект

Helper #2 - подключение Stylesheets

Page 15: Внедрение компонента templating в существующий проект

Helper #3 - вывод meta-тэгов

Page 16: Внедрение компонента templating в существующий проект

Helpers - вывод

Выносите типовые функции из шаблонов в хелперыони легко пишутся и расширяются

Page 17: Внедрение компонента templating в существующий проект

Renderers - как интерпретировать шаблон?

Plain PHPTwigЛюбой другой язык...

Page 18: Внедрение компонента templating в существующий проект

Renderer #1 - Plain PHP

Page 19: Внедрение компонента templating в существующий проект

Что такое Twig?"The flexible, fast, and secure template language for PHP"

The sandbox extension can be used to evaluate untrusted code

Page 20: Внедрение компонента templating в существующий проект

Renderer #2 - Twig(1)

Page 21: Внедрение компонента templating в существующий проект

Renderer #2 - Twig(2)

Page 22: Внедрение компонента templating в существующий проект

Renderers - вывод

Шаблоны могут быть написаны на любом языке например Plain PHP, Twig или Smarty

вам лишь нужно написать небольшой renderer

Page 23: Внедрение компонента templating в существующий проект

План внедрения templating

1. Layouts2. Slots3. Loaders4. Helpers5. Renderers6. Router

Page 24: Внедрение компонента templating в существующий проект

Router(1)

Page 25: Внедрение компонента templating в существующий проект

Router(2)

Page 26: Внедрение компонента templating в существующий проект

Ваши вопросы

Page 27: Внедрение компонента templating в существующий проект

Обратная связь

Website: www.smetanin-online.name

Email: [email protected]

Twitter: smetanin_online