Upload
stanislaw-smetanin
View
1.722
Download
4
Embed Size (px)
DESCRIPTION
Что такое sf templating component? templating как мета-шаблонизатор Три кита templating Что такое Twig? План внедрения
Citation preview
компонент symfony templating
внедрение в существующий проект
Станислав В. Сметанин[email protected]
Киев - Июль 2010
Кто я? / whoamiWeb-разработчик, в индустрии с 2005 годаПрограммирую на PHP 5 летАктивно использую symfony 1.x около годаФулл-тайм в rubashka-na-zakaz.ru
Поговорим оЧто такое sf templating component? templating как мета-шаблонизаторТри кита templatingЧто такое Twig?План внедренияВаши вопросы
Что такое sf templating component?Часть symfony 2.0Один из плеяды components.symfony-project.orgЛёгкий в использовании шаблонизатор
Templating как мета-шаблонизатор
1. "Simple yet powerful templating framework"
2. "The Symfony Templating component provides all the tools needed to build any kind of template system"
Три кита templating
1. Loaders: "как загрузить шаблон?"2. Helpers: "как упростить написание шаблонов?"3. Renderers: "как интерпретировать загруженный шаблон?"
Loaders - как / откуда загружаем шаблон?
Файловая системаБаза данныхFTP-серверОткуда угодно...
Loader #1 - файловая система
Loader #2 - база данных
Loader #3 - FTP сервер
Loaders - вывод
Шаблоны могут храниться где угодно!вам лишь нужен подходящий loaderкоторый легко написать самому :)
Helpers - как упростить написание шаблонов?
Подключение JavaScript - файловПодключение CSS - файловВывод meta - тэговЛюбая повторяющаяся функция...
Helper #1 - подключение JavaScript
Helper #2 - подключение Stylesheets
Helper #3 - вывод meta-тэгов
Helpers - вывод
Выносите типовые функции из шаблонов в хелперыони легко пишутся и расширяются
Renderers - как интерпретировать шаблон?
Plain PHPTwigЛюбой другой язык...
Renderer #1 - Plain PHP
Что такое Twig?"The flexible, fast, and secure template language for PHP"
The sandbox extension can be used to evaluate untrusted code
Renderer #2 - Twig(1)
Renderer #2 - Twig(2)
Renderers - вывод
Шаблоны могут быть написаны на любом языке например Plain PHP, Twig или Smarty
вам лишь нужно написать небольшой renderer
План внедрения templating
1. Layouts2. Slots3. Loaders4. Helpers5. Renderers6. Router
Router(1)
Router(2)
Ваши вопросы