1. Проектування баз даних
- Проектування таблиць на основі вимог до сайту
- Системи зберігання даних InnoDB: таблиці і зв'язку
- Один до одного
- Один до багатьох
- Багато до багатьох
2. Робота з вбудованим класом PDO
- Класи і об'єкти
- Робота з класом PDO
- Властивості і методи
- Захист від SQL ін'єкцій
3. Основи ООП
- Класи і об'єкти
- Геттери і сеттери
- Інкапсуляція
- Спадкування
- Простори назв
- Автозавантаження
- Статика
- Константи
- Інтерфейси
- Абстрактні класи
4. Робота з Composer
- Ініціалізація composer
- Завантаження залежностей
5. Детально про MVC
6. Робота з базами даних на основі ActiveRecord
- Laravel Eloquent (Active Record)
- Symfony Doctrine (Data Mapper)
- Таблиці і моделі
- Організація зв'язків
- Створення комплексних запитів за допомогою QueryBuilder
7. Робота з шаблонізаторами
- Уявлення Blade (Laravel) Twig (Symfony)
- Створення базового шаблону
- Підключення шаблонів сторінок
8. Маршрутизація по проекту
- Організація єдиної точки входу
- Підключення і робота з маршрутизатором
- Регулярні вирази
- Контролери і дії
9. Робота з системами контролю версій VCS
- Створення локального сховища Git
- Підключення до віддаленого сховища GitHub/GitLab/BitBucket
- Базові операції
- Принцип роботи за методом GitFlow
10. Шаблони проектування
- Фабрика, Фабричний метод
- Адаптер
- Декоратор
- Стратегія
- Спостерігач
11. Принципи SOLID
- Принцип єдиної відповідальності
- Принцип відкритості-закритості
- Принцип підстановки Барбари Лисков
- Принцип поділу інтерфейсу
- Принцип інверсії залежностей
12. Методи злому і захисту веб-додатків
- Створення і захист від SQL-ін'єкції
- CSRF атаки і захист за одноразовим токеном
- XSS атаки і захист
- Принципи захисту і оновлення паролів
13. Просунуті можливості MySQL
- Індексування
- Транзакції
- Тригери
14. Робота з Docker
- Образи і контейнери
- Зв'язка контейнерів в одну мережу
- Запуск проекту через контейнер
- Збірка безлічі контейнерів через docker-compose
15. Тестування коду за допомогою PHPUnit
- Створення Unit-тесту
- Запуск безлічі Unit-тестів
- Принципи TDD (test driven development)