Загрузка страницы

PSR-7 фреймворк 5/7: Шаблонизаторы и вёрстка

Пятый урок серии скринкастов по изучению PSR-7 микрофреймворков в PHP. Пишем свой шаблонизатор и изучаем работу существующих.

Обсуждение и исходники: https://elisdn.ru/blog/118/psr7-framework-templates
Обновленные эпизоды выходят на https://deworker.pro/edu/series/http-framework

Блог: https://elisdn.ru
Скринкасты: https://deworker.pro
Задонатить: https://elisdn.ru/donate

Тайм-коды:
00:00:00 - Вступление, повторение выводов предыдущего урока
00:07:12 - Ответ на вопрос: почему используют микрофреймворки?
00:12:10 - Цели и задачи урока
00:15:35 - Экранирование кода, htmlspetialcars
00:21:52 - Вынесение HTML-разметки в templates
00:23:31 - HelloAction
00:24:51 - Буферизация вывода HTML-кода
00:33:06 - Bootstrap с CDN
00:36:35 - Вынесение кода в метод render
00:38:59 - Передача имени представления
00:40:02 - Передача параметров
00:42:00 - Распаковка массива params
00:47:37 - Переменная templateFile
00:49:13 - Вынесение кода в класс TemplateRenderer
00:53:53 - Настройка папки с шаблонами
00:58:01 - Отладка тестов
01:01:53 - Добавление верстки
01:06:08 - Дописывание контроллеров
01:06:55 - HelloActionTest
01:07:58 - Вынесение интерфейса, PhpRenderer
01:11:11 - Вынос общего макета в layout, теория
01:20:07 - Вынос общего макета в layout, реализация
01:22:46 - Директивы extends и params
01:31:36 - Шаблон Columns
01:35:01 - Инкапсуляция render() и extend()
01:38:13 - Разные сайдбары в разных представлениях, буферизация ввода
01:42:28 - Инкапсуляция блоков
01:46:07 - Переписывание блоков на использование стека
01:49:19 - Контент блока по умолчанию
01:51:19 - Хлебные крошки в главном шаблоне
01:53:21 - Метатэги
01:54:29 - Перенос params в блок
01:57:07 - Перенос контента в блок
01:59:02 - Уникальность именования блоков
02:01:13 - Промежуточные итоги
02:03:23 - Переопределение блоков
02:08:44 - Проблема рендера пропускаемых блоков
02:11:46 - Инкапсуляция в метод ensureBlock()
02:15:52 - Альтернатива с анонимной функцией
02:20:22 - Ленивая загрузка блоков
02:23:22 - Инкапсуляция htmlspecialchars()
02:25:05 - Генерация адресов через маршрутизатор
02:34:33 - Страницы вывода блога
02:42:47 - Генерация страницы 404
02:45:03 - Страницы других ошибок
02:51:14 - Промежуточные итоги
02:53:12 - Плюсы, минусы и возможности шаблонизаторов, теория
03:04:36 - Нюансы выкладывания в публичный доступ, SOLID, теория
03:11:23 - Динамическое добавление методов, теория
03:14:44 - Отключение буферизации для вывода исключений
03:21:34 - Магический __call для вызова функций
03:25:44 - Подключение нашего маршрутизатора
03:29:21 - Вынесение функций в отдельные классы
03:32:40 - Метод addFunction()
03:34:31 - Инкапсуляция имени функции
03:37:32 - Добавление комплекта функции
03:39:51 - Замена анонимных функций на callback-и
03:41:25 - Класс Extention
03:43:28 - Переименование Function в Extention
03:47:50 - Передача рендерера и циклические зависимости
03:54:46 - Структура SimpleFunction
03:57:25 - Промежуточные итоги
04:00:13 - Готовый шаблонизатор Plates
04:04:16 - Недостатки шаблонизатора Plates
04:06:23 - Другие шаблонизаторы
04:10:05 - Шаблонизатор Twig, обзор
04:18:57 - Установка twig, переписывание представлений
04:27:47 - Использование в нашем коде, внутренности Twig
04:34:14 - Папки шаблонов и псевдонимы
04:37:10 - Twig в контейнере, адаптер TwigRenderer
04:42:42 - Кэширование сгенерированного кода
04:44:23 - Отключение кеширования в режиме разработки
04:45:56 - Функция dump() для отладки
04:47:36 - Перенос кода в контейнер
04:51:11 - RouteExtention для Twig
04:54:06 - Дополнительные опции расширений
04:59:19 - Всеядность Twig-а по работе с переменными
05:04:56 - Вынесение конфигурации шаблонизатора
05:08:25 - Вынесение массива расширений
05:10:43 - Вынесение в templates.global.php
05:11:55 - Проверка результата, внутренности Twig
05:26:25 - Подведение итогов

Видео PSR-7 фреймворк 5/7: Шаблонизаторы и вёрстка канала Дмитрий Елисеев
Показать
Комментарии отсутствуют
Введите заголовок:

Введите адрес ссылки:

Введите адрес видео с YouTube:

Зарегистрируйтесь или войдите с
Информация о видео
20 февраля 2018 г. 16:19:00
05:45:22
Яндекс.Метрика