Symfony

Серия видеокурсов по фреймворком Symfony. Уроки для начинающих. Работа с базой данных, шаблонизатором Twig, формами, контроллером и.т.д.

24 разделов
386 уроков
Быстрый старт в Symfony 7
29 уроков
Шаблонизатор Twig в Symfony.
21 уроков
  • Знакомимся с документацией Twig
  • Передача и вывод элементов массива в шаблонизаторе Twig.
  • Вывод элементов массива в цикле в Twig.
  • Проверки на существование и пустоту выводимого объекта
  • Значение для вывода по умолчанию в Twig
  • Просмотр dump содержимого массива или переменной внутри Twig шаблона.
  • Работа со ссылками внутри Twig.
  • Конструкция block в Twig и ее расширение.
  • Конструкция include в Twig.
  • Работа с условным оператором if внутри Twig.
  • Округление чисел внутри Twig.
  • Работа с датой внутри Twig.
  • Использование переменных в шаблонизаторе Twig
  • Как вывести текст как html-код
  • Как подключать статические файлы в шаблонизаторе Twig
  • Проверка содержит ли строка или массив какое-то значение
  • Работа с переносами строк для текста
  • Создаем файл расширяющий возможности Twig
  • Пример создания своей функции в шаблонизаторе Twig
  • Создаем свой фильтр для Twig
  • Склонение числительных в Twig
Symfony. Работа с переменными окружения.
12 уроков
Symfony. Работа с сервисами и бандлами (bundles).
12 уроков
  • Что такое сервисы в Symfony?
  • Что такое контейнер Symfony?
  • Как посмотреть список всех сервисов в контейнере Symfony.
  • Создание своего сервиса в Symfony.
  • Файл services.yaml или как сервисы попадают в контейнер
  • Как использовать один сервис внутри другого
  • Как поменять значение Service ID (alias) и смотрим настройки сервиса
  • Параметр autowire для сервисов.
  • Команда для вывода сокращенного списка сервисов Symfony проекта.
  • Аргументы сервисов Symfony
  • Что такое бандлы bundles в Symfony
  • Смотрим возможные настройки бандлов, которые мы можем использовать
Symfony. Работа с базой данных. Основы.
28 уроков
  • Работа с базой данных в Symfony и сущности (Entity). Введение.
  • Установка библиотек для работы с базой данных в Symfony.
  • Создание сущности в Symfony.
  • Указываем настройки соединения с базой данных в Symfony.
  • Что такое миграции базы данных в Symfony.
  • Работа с миграциями базы данных в Symfony. Практика.
  • О типах данных Doctrine.
  • Создание контроллера для сущности. Именование роутов и общий роут.
  • Что такое Entity Manager в Symfony.
  • Добавляем новую запись в БД с помощью Entity Manager.
  • Как получить элемент из базы данных по его id
  • Получение элемента по id через инъекцию зависимостей
  • Как получить все элементы из таблицы базы данных для сущности
  • Обновление информации в БД с помощью Entity manager.
  • Удаление из базы данных с помощью Entity Manager.
  • Поиск элемента по значению полей
  • Получение массива элементов по каким-либо параметрам
  • Выборка значений по массиву ключей
  • Вывод элементов сущности в шаблонизаторе Twig
  • Особенность EntityManager flush при добавлении и обновлении данных. Ускорение скриптов.
  • Постраничная навигация Symfony
  • Что такое Fixtures в Symfony
  • Установка пакета для работы с Fixtures в Symfony
  • Создаем простой файл фикстуры Symfony
  • Опасность запуска фикстур
  • Пакет для генерации случайных данных и генерация множества элементов в цикле
  • Запуск файлов фикстур по отдельности
  • Пример настроек для соединения с базой данных Sqlite
Symfony. Security. Аутентификация и авторизация.
37 уроков
  • Аутентификация и авторизация пользователей в Symfony. Введение.
  • Symfony Security. Установка.
  • Класс User в Symfony. С чего все начинается.
  • Что такое аутентификаторы и провайдеры в Symfony
  • Как посмотреть список возможных настроек для файла security.yaml
  • Как хранить Symfony пользователей в конфигурационном файле
  • Понятие пользователя. Создание пользователей in memory
  • Хеширование паролей пользователей
  • Генерируем страницу входа на сайт
  • Разбираем как происходит процесс входа и выхода с сайта
  • Создаем сущность пользователя для хранения в базе данных
  • Где Symfony по умолчанию хранит информацию о залогинином пользователе
  • Где хранятся сессии авторизации в Symfony
  • Механизм запоминания авторизации пользователей
  • Что хранится в cookies авторизации Symfony
  • Класс для Login Form аутентификатора. По умолчанию.
  • Перенаправление пользователя после успешного входа. Знакомимся с Login аутентификатором.
  • Как перенаправлять пользователя при выходе с сайта
  • Перезапись методов form_login на примере onAuthenticationSuccess
  • Как изменить текст ошибки при неудачном входе на русский язык
  • Где создаются и хранятся роли пользователей Symfony и как их увидеть в Profiler
  • Закрываем доступ к роуту с помощью настройки access_control
  • Способ закрыть доступ к роуту и контроллеру в целом
  • Выражения. Закрыть доступ более чем для одной роли.
  • Создаем свои кастомные правила для проверки доступа к роуту
  • Открываем доступ к роуту только для пользователя с определенным Email
  • Как разрешить доступ к роуту только владельцу элементов сущности
  • Получаем текущего пользователя внутри контроллера и сервисов
  • Получение текущего пользователя как аргумент в контроллере
  • Как в контроллере проверить, что пользователь аутентифицирован
  • Вывод текущего пользователя внутри Twig
  • Проверка, что у пользователя есть какая-то роль (в php-коде и в Twig)
  • Инструмент для переключения между пользователями в Symfony
  • Как программно аутетифицировать пользователя
  • Разлогиниваем пользователя программно
  • Аутентификация с помощью JSON login
  • http basic аутентификация
Symfony. Работа с базой данных. Связи.
13 уроков
Symfony. Аутентификация с помощью API ключей
19 уроков
  • Создаем Symfony сущность для хранения API токенов
  • Несколько особенностей работы с API токеном
  • Добавляем метод для проверки валидности токена
  • Метод для генерации токена
  • Настройка config файла для работы с access token
  • Как закрывается доступ к API Platform endpoints
  • Служебный класс ApiTokenHandler
  • Создаем страницы и роуты для генерации токенов
  • Добавляем возможность добавления авторизации в Swagger API Platform
  • Пробуем выполнить запрос с передачей токена через Swagger
  • Добавляем автоматически Bearer для запросов к API Platform
  • Пример запроса с помощью REST клиента Insomnia
  • Как можно использовать roles для токенов
  • Генерация токенов при json login аутентификации
  • Закрываем роут Symfony api токеном
  • JWT токены в Symfony lexik jwt authentication bundle
  • Генерации ssl ключей для JWT токена
  • Делаем запрос и получаем JWT токен
  • Используем JWT токен для доступа к закрытому роуту
Наследование сущностей Doctrine (на примере Symfony)
7 уроков
Symfony. Создание API-платформы.
44 уроков
  • Symfony. Создание API-платформы. Введение.
  • Инструмент, который нам поможет. API-platform.
  • Создание endpoint на Symfony без сторонних инструментов
  • Создание endpoint на Symfony без сторонних инструментов (решение в 1 строку)
  • Сериализация Symfony сущности и вывод только нужных полей
  • Установка api-platform в Symfony проект
  • Новый роут для доступа к интерфейсу для взаимодействия с API
  • Делаем Symfony сущность доступной по API
  • Выполняем первые запросы к API endpoint без программного кода.
  • Как получать отладочную информацию по каждому запросу
  • Ограничиваем возможные методы для обращения к сущности
  • Настройка формата выходных данных
  • Подготовка страницы для фронтенд запросов к API Platform
  • Получаем список всех элементов сущности с помощью jQuery
  • Получаем список всех элементов сущности с помощью axios
  • Получаем элемент сущности по id
  • Добавляем элементы с помощью библиотеки jQuery
  • Добавляем элементы с помощью библиотеки axios
  • Обновление значений в базе данных методами put и patch
  • Удаляем записи из базы данных
  • Взаимодействие с Get методами из адрестной строки браузера
  • Альтернативный способ ограничить возможные методы для обращения к endpoint
  • Как изменить название сущности в роутах API Platform
  • Откуда API-платформ берет поля.
  • Как ограничить выдаваемые поля от API Platform
  • Как изменять название свойств, которые выдаются в API Platform
  • Система постраничной навигации в API Platform
  • Настройки API-platform
  • Выдаем ответ в формате csv
  • Валидация полей для api platform
  • Создаем связь между сущностями и пытаемся получить такой элемент в API Platform
  • Создаем связь между сущностями и пытаемся получить такой элемент в API Platform. Продолжение
  • Как получать поля связанной сущности
  • Получаем поля в связанной сущности
  • Сортировка элементов в выдаче
  • Ограничиваем доступ к роуту для определенных пользователей
  • Закрываем доступ к сущности для ролей и права владельца
  • Что такое State Providers и Processors в API Platform
  • Как убрать какое-то поле объекта из выдачи API Platform
  • Где найти классы по умолчанию для State Providers и Processors
  • Создаем простой провайдер для сущности
  • Обработка Get Collection в своем провайдере
  • Создаем класс State Processor
  • Пример использования State Processor
Symfony. API Platform. Фильтры.
6 уроков
  • Знакомство с фильтрами в API Platform
  • Учимся применять фильтры. Search фильтр
  • Числовой (Numeric) фильтр
  • Фильтр по диапазону. Range фильтр.
  • Фильтр по логическим значениям
  • Фильтр для работы с датой
Symfony. Работа с файлами.
26 уроков
  • Как Symfony работает с файлами
  • Как поместить загруженный файл в папку Symfony проекта.
  • Как поменять название загружаемого файла
  • Создаем поле в базе данных для файла и о том, как хранить файлы в базе данных
  • Загрузка файлов с помощь Symfony form
  • Выносим логику загрузки файлов в сторонний сервис
  • Добавляем валидацию и ограничение на загрузку только изображений определенного размера
  • Выводим изображения в шаблонизаторе Twig
  • Сжатие, миниатюры, компрессия изображений на Symfony
  • Создаем первую миниатюру изображения
  • Как сжать изображение с помощью командной строки
  • Создание миниатюры средствами PHP
  • Бандл для работы с файлами для Symfony Flysystem
  • Загрузка первого файла с помощью Flysystem
  • Важная операция по преобразованию имен загружаемых файлов
  • Как копировать и перемещать файлы
  • Удаление файлов с помощью Flysystem
  • Библиотека для загрузки файлов без перезагрузки страницы по Ajax
  • Пример загрузки файла по Ajax
  • Symfony с S3 хранилищем на примере Яндекс Object Storage
  • Настройка хранилища и сервисный аккаунт на стороне Яндек.Облака
  • Настройки Symfony для работы с S3
  • Загрузка и удаления файлов с Яндекс Object Storage
  • Логика показа файлов для dev и prod среды из Object Storage
  • Пример сервиса на загрузку файлов в разные бакеты в зависимости от окружения
  • Логика вывода изображений в шаблонизаторе Twig
Работа с бандлом Doctrine Extensions.
5 уроков
Symfony. Работа с формами.
25 уроков
  • Прием и обработка данных с формы без дополнительных возможностей Symfony
  • Установка компонента form в Symfony.
  • Создаем класс для работы с Symfony формами.
  • Создаем простую Symfony форму.
  • Как принимать данные из формы Symfony
  • Как добавить атрибуты для элемента form
  • Основные функции Symfony для вывода элемента формы
  • Вывод label и поля элемента формы отдельно
  • Функция form_row для вывод элемента формы
  • Как добавлять атрибуты для элементов выведенных с помощью form_row
  • Создаем форму, которая связана с сущностью
  • Как явно указать тип поля для вывода
  • Отладка формы в Symfony Profiler.
  • Добавление данных в базу данных через форму связанную с сущностью.
  • Всплывающие сообщения после отправки Symfony формы.
  • Обновление сущности в базе данных с помощью Symfony форм.
  • Пример добавления поля логического типа.
  • Options (настройки) для текстовых полей формы.
  • Отключение html5 валидации для Symfony формы.
  • Установка компонента для валидации Symfony форм
  • Понятие Constraints для валидации полей форм
  • Пример валидации формы, которая связана с сущностью
  • Как перевести или изменить сообщения из правил валидации
  • Настраиваем валидацию форм, которые не связаны с сущностью
  • Создание поля формы, которое имеет связь с другой сущностью
Query Builder
13 уроков
  • Что такое Query Builder
  • Знакомство. Первый запрос с помощью Query Builder.
  • Массивы и объекты в выдаче
  • Выборки по условиям в Query Builder
  • Как ограничить число результатов в выдаче
  • Сортировка данных с помощью Query Builder
  • Как передавать параметры в query builder
  • Создаем связь One To Many для экспериментов
  • Объединение и запрос данных из разных таблиц (сущностей)
  • Выборка данных из таблиц с ManyToMany
  • Выборки с условием ИЛИ
  • Выборка уникальных значений
  • Поиск с помощью Query Builder
Docker для Symfony
6 уроков
  • Docker и Symfony. Введение.
  • Про состав файла docker compose. Какие образы использовать
  • Разворот базы данных mysql и phpmyadmin в docker
  • Особенность работы с docker в Windows
  • Пример настройки соединения с базой данных mysql в docker
  • Устанавливаем Apache и службу PHP FPM в docker
Deploy. Symfony.
6 уроков
  • Symfony Deploy с Github. Введение.
  • Закачиваем Symfony проект в Github репозиторий
  • Создаем конфигурацию веб-сервера Apache для Symfony проекта
  • Подготовливаем файловую структуру для Symfony проекта
  • Добавляем ssh ключи и клонируем проект с репозиторий Github
  • Устанавливаем composer и устанавливаем проект
Symfony. Связка с Vue приложением.
12 уроков
Symfony. Практика работы с многоязычными сайтами.
10 уроков
  • Система мультиязычности Symfony. Создаем файл переводов.
  • Как устроен файл переводов в Symfony
  • Переводим первую фразу в шаблонизаторе Twig
  • Переключаем язык в пределах одного роута
  • Как запоминать выбранный язык при переходе от роута к роуту
  • Запоминаем выбранный язык в cookies
  • Пример создания ссылок для переключения между языками
  • Получаем и используем текущий locale
  • Как принудительно установить в Twig язык для фразы независимо от локации
  • Как перевести фразу в контроллере или сервисе
Слушатели и подписчики событий Symfony
7 уроков
  • Подписчики и слушатели событий (events) в Symfony
  • Контроль и анализ событий в Symfony Profiler
  • Создаем и проверяем работу подписчика событий
  • Как получать и модифицировать данные запроса в подписчике на события
  • Как получать и модифицировать данные ответа в подписчике на события
  • Создаем слушатель событий
  • Пример создания и вызова своего события
Mercure Hub и Symfony
12 уроков
  • Mercure Hub и Symfony. Введение.
  • Устанавливаем Mercure bundle
  • Разварачиваем службу Mercure с помощью Docker на Windows
  • О Subscribe и Publish и понятии topic
  • Отправка сообщение в Hub в Symfony контроллере
  • Настройка переменных окружения для Mercure Hub
  • Как сгенерировать JWT токен для соединения
  • Как подписаться на уведомления из Hub в Twig шаблоне.
  • Как отправить сообщение в Mercure Hub с помощью Javascript
  • Подписываемся на Hub без mercure bundle
  • Пример настроек Apache, чтобы открыть Mercure на prod сервере
  • Пример связи API Platform и Mercure Hub
Symfony. HttpClient.
8 уроков
Symfony. Тесты.
12 уроков
Symfony Messenger. Работа с очередями сообщений.
16 уроков

Как получить доступ?

Доступ к курсу "Symfony" на 1 месяц

Стоимость: 1000 ₽ (стоимость в других валютах можно уточнить у автора)

Войдите / зарегистрируйтесь на сайте, чтобы получить данные для оплаты