SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
компонент symfony templating




внедрение в существующий проект
                      Станислав В. Сметанин
                      www.smetanin-online.name
                      stanislaw@smetanin-online.name
                                             Киев - Июль 2010
Кто я? / whoami
  Web-разработчик, в индустрии с 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 PHP
  Twig
  Любой другой язык...
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.   Layouts
 2.   Slots
 3.   Loaders
 4.   Helpers
 5.   Renderers
 6.   Router
Router(1)
Router(2)
Ваши вопросы
Обратная связь

Website: www.smetanin-online.name

Email:   stanislaw@smetanin-online.name

Twitter: smetanin_online

Contenu connexe

Tendances

Client Side Autotesting Flash
Client Side Autotesting FlashClient Side Autotesting Flash
Client Side Autotesting Flash
guestb0af15
 
Дополнительные материалы от Егора Васильва
Дополнительные материалы от Егора ВасильваДополнительные материалы от Егора Васильва
Дополнительные материалы от Егора Васильва
SQALab
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)
Ontico
 

Tendances (20)

Codeless: автоматизация тестирования
Codeless: автоматизация тестированияCodeless: автоматизация тестирования
Codeless: автоматизация тестирования
 
Основы Symfony и отличия Sf 3.x от Sf 2.x
Основы Symfony и отличия Sf 3.x от Sf 2.xОсновы Symfony и отличия Sf 3.x от Sf 2.x
Основы Symfony и отличия Sf 3.x от Sf 2.x
 
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр Ковалев
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр КовалевПакетный менеджер CrossPM: упрощаем сложные зависимости | Александр Ковалев
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр Ковалев
 
12 reasons to love symfony2
12 reasons to love symfony212 reasons to love symfony2
12 reasons to love symfony2
 
Install denwer
Install denwerInstall denwer
Install denwer
 
COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...
COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...
COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...
 
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsWinium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
 
Как автоматизировать рутинные задачи или учимся разговаривать на змеином языке
Как автоматизировать рутинные задачи или учимся разговаривать на змеином языкеКак автоматизировать рутинные задачи или учимся разговаривать на змеином языке
Как автоматизировать рутинные задачи или учимся разговаривать на змеином языке
 
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
 
Client Side Autotesting Flash
Client Side Autotesting FlashClient Side Autotesting Flash
Client Side Autotesting Flash
 
Base php 1
Base php 1Base php 1
Base php 1
 
Full stack веб-разработка используя C# и WebAssembly
Full stack веб-разработка используя C# и WebAssemblyFull stack веб-разработка используя C# и WebAssembly
Full stack веб-разработка используя C# и WebAssembly
 
Cистемы автоматической сборки проектов (Полина Фоминых)
Cистемы автоматической сборки проектов (Полина Фоминых)Cистемы автоматической сборки проектов (Полина Фоминых)
Cистемы автоматической сборки проектов (Полина Фоминых)
 
Страх и ненависть в мире релиз-инжиниринга
Страх и ненависть в мире релиз-инжинирингаСтрах и ненависть в мире релиз-инжиниринга
Страх и ненависть в мире релиз-инжиниринга
 
Дополнительные материалы от Егора Васильва
Дополнительные материалы от Егора ВасильваДополнительные материалы от Егора Васильва
Дополнительные материалы от Егора Васильва
 
Drupal 8: Теперь со вкусом Symfony
Drupal 8: Теперь со вкусом SymfonyDrupal 8: Теперь со вкусом Symfony
Drupal 8: Теперь со вкусом Symfony
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)
 
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...
 
Использование анализатора кода SonarQube
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQube
 
Net framework
Net frameworkNet framework
Net framework
 

En vedette

En vedette (7)

Group 42 traditional cuisine
Group 42 traditional cuisineGroup 42 traditional cuisine
Group 42 traditional cuisine
 
C:\Fakepath\802 11b Wireless Lan
C:\Fakepath\802 11b Wireless LanC:\Fakepath\802 11b Wireless Lan
C:\Fakepath\802 11b Wireless Lan
 
Apr2010
Apr2010Apr2010
Apr2010
 
Technical aspects of use of ultrasound nazakat2
Technical aspects of use of ultrasound  nazakat2 Technical aspects of use of ultrasound  nazakat2
Technical aspects of use of ultrasound nazakat2
 
Bi idazleen biografiak
Bi idazleen biografiakBi idazleen biografiak
Bi idazleen biografiak
 
7106 ss summary
7106 ss summary7106 ss summary
7106 ss summary
 
Ordenagailuak !
Ordenagailuak !Ordenagailuak !
Ordenagailuak !
 

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

Symfony as the platform for open source projects (sympal, apostrophe, diem)
Symfony as the platform for open source projects (sympal, apostrophe, diem)Symfony as the platform for open source projects (sympal, apostrophe, diem)
Symfony as the platform for open source projects (sympal, apostrophe, diem)
Alex Demchenko
 
UAFPUG6 - PureMVC
UAFPUG6 - PureMVCUAFPUG6 - PureMVC
UAFPUG6 - PureMVC
mandrew182
 
Uafpug 8 Presentation Puremvc Papervision Gallery Kuriksha Dmitry
Uafpug 8 Presentation Puremvc Papervision Gallery Kuriksha DmitryUafpug 8 Presentation Puremvc Papervision Gallery Kuriksha Dmitry
Uafpug 8 Presentation Puremvc Papervision Gallery Kuriksha Dmitry
Max Rozdobudko
 
Automation Flex Applications with Selenium rc
Automation  Flex Applications with Selenium rcAutomation  Flex Applications with Selenium rc
Automation Flex Applications with Selenium rc
automated-testing.info
 
Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)
Alexey Kachayev
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...
it-people
 
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf Conference
 
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис ВоскобойникКак работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Образовательные мероприятия "Netpeak Talks"
 

Similaire à Внедрение компонента templating в существующий проект (20)

Symfony as the platform for open source projects (sympal, apostrophe, diem)
Symfony as the platform for open source projects (sympal, apostrophe, diem)Symfony as the platform for open source projects (sympal, apostrophe, diem)
Symfony as the platform for open source projects (sympal, apostrophe, diem)
 
Symfony2 Best Practices
Symfony2 Best PracticesSymfony2 Best Practices
Symfony2 Best Practices
 
1_symfony_introduction.pptx
1_symfony_introduction.pptx1_symfony_introduction.pptx
1_symfony_introduction.pptx
 
UAFPUG6 - PureMVC
UAFPUG6 - PureMVCUAFPUG6 - PureMVC
UAFPUG6 - PureMVC
 
Uafpug 8 Presentation Puremvc Papervision Gallery Kuriksha Dmitry
Uafpug 8 Presentation Puremvc Papervision Gallery Kuriksha DmitryUafpug 8 Presentation Puremvc Papervision Gallery Kuriksha Dmitry
Uafpug 8 Presentation Puremvc Papervision Gallery Kuriksha Dmitry
 
PureMVC and Papervision
PureMVC and PapervisionPureMVC and Papervision
PureMVC and Papervision
 
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
 
Catalyst – MVC framework на Perl (RIT 2008)
Catalyst – MVC framework на Perl  (RIT 2008)Catalyst – MVC framework на Perl  (RIT 2008)
Catalyst – MVC framework на Perl (RIT 2008)
 
Automation Flex Applications with Selenium rc
Automation  Flex Applications with Selenium rcAutomation  Flex Applications with Selenium rc
Automation Flex Applications with Selenium rc
 
Web tehn
Web tehnWeb tehn
Web tehn
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
 
Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...
 
Presentation for students about Laravel.pptx
Presentation for students about Laravel.pptxPresentation for students about Laravel.pptx
Presentation for students about Laravel.pptx
 
Sonar quality
Sonar qualitySonar quality
Sonar quality
 
C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.
 
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
 
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис ВоскобойникКак работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
 
Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.
Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.
Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.
 
Inroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAPInroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAP
 

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

  • 1. компонент symfony templating внедрение в существующий проект Станислав В. Сметанин www.smetanin-online.name stanislaw@smetanin-online.name Киев - Июль 2010
  • 2. Кто я? / whoami Web-разработчик, в индустрии с 2005 года Программирую на PHP 5 лет Активно использую symfony 1.x около года Фулл-тайм в rubashka-na-zakaz.ru
  • 3. Поговорим о Что такое sf templating component? templating как мета-шаблонизатор Три кита templating Что такое Twig? План внедрения Ваши вопросы
  • 4. Что такое sf templating component? Часть symfony 2.0 Один из плеяды components.symfony-project.org Лёгкий в использовании шаблонизатор
  • 5. Templating как мета-шаблонизатор 1. "Simple yet powerful templating framework" 2. "The Symfony Templating component provides all the tools needed to build any kind of template system"
  • 6. Три кита templating 1. Loaders: "как загрузить шаблон?" 2. Helpers: "как упростить написание шаблонов?" 3. Renderers: "как интерпретировать загруженный шаблон?"
  • 7. Loaders - как / откуда загружаем шаблон? Файловая система База данных FTP-сервер Откуда угодно...
  • 8. Loader #1 - файловая система
  • 9. Loader #2 - база данных
  • 10. Loader #3 - FTP сервер
  • 11. Loaders - вывод Шаблоны могут храниться где угодно! вам лишь нужен подходящий loader который легко написать самому :)
  • 12. Helpers - как упростить написание шаблонов? Подключение JavaScript - файлов Подключение CSS - файлов Вывод meta - тэгов Любая повторяющаяся функция...
  • 13. Helper #1 - подключение JavaScript
  • 14. Helper #2 - подключение Stylesheets
  • 15. Helper #3 - вывод meta-тэгов
  • 16. Helpers - вывод Выносите типовые функции из шаблонов в хелперы они легко пишутся и расширяются
  • 17. Renderers - как интерпретировать шаблон? Plain PHP Twig Любой другой язык...
  • 18. Renderer #1 - Plain PHP
  • 19. Что такое Twig? "The flexible, fast, and secure template language for PHP" The sandbox extension can be used to evaluate untrusted code
  • 20. Renderer #2 - Twig(1)
  • 21. Renderer #2 - Twig(2)
  • 22. Renderers - вывод Шаблоны могут быть написаны на любом языке например Plain PHP, Twig или Smarty вам лишь нужно написать небольшой renderer
  • 23. План внедрения templating 1. Layouts 2. Slots 3. Loaders 4. Helpers 5. Renderers 6. Router
  • 27. Обратная связь Website: www.smetanin-online.name Email: stanislaw@smetanin-online.name Twitter: smetanin_online