Содержание курса
Что такое Drupal
9 уроков
1.
Введение в Drupal: почему это мощный инструмент для разработки
↗
2.
Drupal: стандартные функции и возможности
↗
3.
Как мы пришли к Drupal 10
↗
4.
Разработка на Drupal: расширяемость и создание модулей
↗
5.
Технологии, лежащие в основе Drupal
↗
6.
Архитектура Drupal
↗
7.
Основные подсистемы Drupal
↗
8.
Инструменты разработки на Drupal
↗
9.
Итоги: ключевые аспекты Drupal для разработчиков
↗
Установка Drupal
11 уроков
1.
Введение
↗
2.
Установка Debian Linux
↗
3.
Подготовка сервера
↗
4.
Установка Composer
↗
5.
Установка и настройка веб-сервера
↗
6.
Установка PHP с зависимостями
↗
7.
Установка и настройка СУБД
↗
8.
Загрузка и установка Drupal
↗
9.
Установка Drupal через Composer
↗
10.
Использование Drush
↗
11.
Итоги
↗
Создание первого модуля
9 уроков
1.
Введение в разработку модулей
↗
2.
Создание модуля
↗
3.
Использование сервисов в Drupal
↗
4.
Form API
↗
5.
Блоки
↗
6.
Работа со ссылками
↗
7.
Переадресация с подписчика событий
↗
8.
Диспетчеризация событий
↗
9.
Итоги
↗
Ведение журнала и рассылка
5 уроков
1.
Введение
↗
2.
Логирование
↗
3.
Mail API
↗
4.
Токены
↗
5.
Итоги
↗
Темизация
11 уроков
1.
Введение
↗
2.
Логика бизнеса и логика представления
↗
3.
Twig
↗
4.
Темовые хуки
↗
5.
Рендер-массивы
↗
6.
Ассеты и библиотеки
↗
7.
Общие хуки темы
↗
8.
Атрибуты
↗
9.
Макеты
↗
10.
Темизация модуля Hello World
↗
11.
Итоги
↗
Меню и ссылки на меню
8 уроков
1.
Введение
↗
2.
Система меню
↗
3.
Рендеринг меню
↗
4.
Работа со ссылками меню
↗
5.
Определение локальных задач (вкладок)
↗
6.
Определение локальных действий
↗
7.
Определение контекстных ссылок
↗
8.
Итоги
↗
Моделирование и хранение данных
10 уроков
1.
Введение
↗
2.
Различные типы хранения данных
↗
3.
API состояний (State API)
↗
4.
Временное хранилище (TempStore)
↗
5.
API пользовательских данных (UserData)
↗
6.
API конфигурации (Configuration API)
↗
7.
Сущности (Entities)
↗
8.
TypedData API
↗
9.
Взаимодействие с Entity API
↗
10.
Итоги
↗
Пользовательские сущности и типы подключаемых модулей
4 урока
1.
Введение
↗
2.
Создание собственного типа сущности и типа плагина
↗
3.
Написание собственной команды Drush
↗
4.
Итоги
↗
Database API
8 уроков
1.
Введение
↗
2.
Schema API
↗
3.
Выполнение запросов
↗
4.
Транзакции
↗
5.
Изменение запросов (Query Alters)
↗
6.
Хуки обновления (Update Hooks)
↗
7.
Пост-обновления (Post Update Hooks)
↗
8.
Итоги
↗
Пользовательские поля
8 уроков
1.
Введение
↗
2.
Повторение FieldType плагинов
↗
3.
Создание FieldType плагина
↗
4.
Создание FieldWidget плагина
↗
5.
Создание FieldFormatter плагина
↗
6.
Настройки поля
↗
7.
Использование пользовательского поля как базового поля
↗
8.
Итоги
↗
Контроль доступа
6 уроков
1.
Введение
↗
2.
Что такое система доступа Drupal
↗
3.
Доступ к маршрутам
↗
4.
Доступ к сущностям
↗
5.
Доступ к блокам
↗
6.
Итоги
↗
Кэширование
5 уроков
1.
Введение в кэширование
↗
2.
Метаданные кэширования
↗
3.
Плейсхолдеры и ленивая сборка (Lazy Building)
↗
4.
Использование Cache API
↗
5.
Итоги
↗
JavaScript и Ajax API
5 уроков
1.
Введение
↗
2.
JavaScript в Drupal
↗
3.
Ajax API
↗
4.
Система состояний (States) в Form API
↗
5.
Итоги
↗
Интернационализация и языки
5 уроков
1.
Введение
↗
2.
Многоязычная экосистема Drupal
↗
3.
Интернационализация
↗
4.
Перевод контента и API перевода
↗
5.
Итоги
↗
Пакетная обработка, очереди и cron
7 уроков
1.
Введение
↗
2.
Пакетная обработка в хуках обновления
↗
3.
Пакетные операции
↗
4.
Cron
↗
5.
Queue API (API очередей)
↗
6.
Lock API (API блокировок)
↗
7.
Итоги
↗
Представления
9 уроков
1.
Введение в представления (Views)
↗
2.
Сущности в Views
↗
3.
Представление пользовательских данных в Views
↗
4.
Поля в Views
↗
5.
Сортировка и фильтрация в Views
↗
6.
Аргументы в Views
↗
7.
Тематизация Views
↗
8.
Хуки Views
↗
9.
Итоги
↗
Работа с файлами и изображениями
11 уроков
1.
Введение
↗
2.
Файловая система
↗
3.
Потоковые обертки (Stream Wrappers)
↗
4.
Управляемые и неуправляемые файлы
↗
5.
Работа с управляемыми файлами
↗
6.
Загрузка управляемых файлов через форму
↗
7.
Создание собственной потоковой обертки
↗
8.
Работа с неуправляемыми файлами
↗
9.
Приватная файловая система
↗
10.
Изображения в Drupal
↗
11.
Итоги
↗
Автоматизированное тестирование
9 уроков
1.
Введение
↗
2.
Методологии тестирования в Drupal
↗
3.
Использование PHPUnit для запуска тестов
↗
4.
Регистрация тестов
↗
5.
Модульные тесты (Unit Tests)
↗
6.
Ядерные тесты (Kernel Tests)
↗
7.
Функциональные тесты (Functional Tests)
↗
8.
Функциональные тесты с использованием JavaScript
↗
9.
Итоги
↗
Безопасность Drupal
5 уроков
1.
Введение
↗
2.
Защита от межсайтового скриптинга (XSS)
↗
3.
Защита от SQL-инъекций
↗
4.
Защита от межсайтовой подделки запросов (CSRF)
↗
5.
Итоги
↗