- 1 место. Курс «PHP-фреймворк Symfony» — Skillbox
- 2 место. Курс «Symfony Framework» — OTUS
- 3 место.Курс «PHP. Уровень 5. Разработка приложений на Symfony» — Центр компьютерного обучения «Специалист» при МГТУ им.Н.Э.Баумана
- Курс «Symfony & Vue.js: Полный курс 2021» — Udemy
- Курс «фреймворк Symfony» — PHP.Zone
- Курс «Программирование на Symfony» — Програмысли
- Курс «Symfony» — webkyrs
- Курс «Symfony 5. Быстрый старт» — Symfony SAS
- Курс «Symfony » — AVADA-MEDIA
- Длительность 4 месяца
- Онлайн в удобное время
- Обучение на практике
- Доступ к курсу навсегда.
Чему вы научитесь:
- Создавать приложения на Symfony и устанавливать дополнительные плагины
- Работать с сервис-контейнерами и базами данных на примере библиотеки Doctrine ORM
- Разбираться в типах маршрутизации
- Делать отладку проектов через дебаг-профайлеры
- Создавать формы регистрации и авторизации пользователей
- Понимать, как устроена интеграция сторонних сервисов
- Разрабатывать сервисы отправки почты
- Работать с API
- Работать с продвинутым конфигурированием.
Программа
Вас ждут онлайн-лекции и практические задания.
18 тематических модулей, 69 онлайн-урока
- Введение в Symfony
- Введение и Установка Symfony
- Структура проекта и настройка PhpStorm
- Создание первых страниц, маршрутизация и контроллеры
- Flex и Recipes
- Шаблонизатор Twig
- Debug Profiler и другие инструменты отладки
- Подключаемые файлы: CSS и Js
- Генерация URL
- Создание Json-API
- Сервисы и Autowiring
- Webpack Encore
- Основы Symfony
- Основы Autowiring и конфигурирования
- Конфигурации для разного окружения, файл.env
- Создание своего сервиса
- Продвинутое конфигурирование, service.yaml
- Пример интеграции с сервисом Slack
- Автовызов методов сервиса, аннотация @required
- Генерация кода: symfony/maker-bundle
- Пример создания консольной команды
- Безопасное хранение секретных конфигураций, Vault
- Шаблонизатор Twig
- Работа с блоками Twig
- Расширения шаблонизатора Twig
- LazyLoad в расширениях
- Библиотека работы с базой данных Doctrine Orm
- Знакомство с Doctrine и миграциями
- Entity Repositories и Query Builder
- Обновление Entity
- Фикстуры и расширения Doctrine
- Фикстуры и демоданные
- Расширение возможностей, Sluggable и Timestampable
- Связи в Doctrine. Часть 1 — Один ко многим
- Связь один ко многим (One-to-Many)
- Получение связанных объектов с дополнительными критериями
- Сложная логика и Join
- Связи в Doctrine. Часть 2
- Фикстуры 2.0
- Постраничная навигация
- Связь Многие-ко-многим
- Система аутентификации
- Создание модели пользователя
- Форма авторизации
- Базовый процесс Аутентификации
- Безопасность и улучшение Аутентификатора
- Роли и уровни доступов и безопасность
- Роли и доступы к страницам
- Получение авторизованного пользователя
- Иерархия ролей и Имперсонализация
- Доступы по API
- Создание токена и API маршрута
- Создание Аутентификатора для API
- Регистрация и классы Voter
- Регистрация и программная авторизация
- Расширенное управление доступом, классы Voter
- Знакомство с компонентом Форм
- Подключение, вывод и обработка формы
- Типы полей и трансформация данных
- Поля ChoiceType
- Валидация вывод и обработка формы
- Валидация в формах
- Вывод форм
- Форма регистрации с использованием компонента форм
- Расширение полей и кастомная валидация
- Расширение полей
- Расширение форм
- Data Transfer Object
- Кастомная валидация
- Домашняя работа
- Загрузка файлов в Symfony
- Загрузка файлов в Symfony
- Создание сервиса загрузки файлов
- Работа с файловой системой
- Сервис отправки электронных писем
- Отправка email в Symfony
- 12 Оформление и css в email без «боли»
- Дополнительные возможности при отправке писем
- Система Событий
- Система событий. Слушатель
- Создание и вызов своих событий
- Подзапросы
- Создание переиспользуемых бандлов для Symfony
- Выделение сервиса в Bundle
- Конфигурирование Bundle
- Как сделать Bundle расширяемым
- Публикация Bundle.
Дипломный проект:
Сервис-конструктор для блога
Вы разработаете сервис, который помогает автоматически создавать статьи для блога на основании входных данных от пользователя.
Symfony — один из самых сложных, надежных и высокопроизводительных PHP-фреймворков. Он по праву считается основным фреймворком для решения задач уровня enterprise. Symfony используют многие популярные проекты, например, Drupal, phpBB. Даже самый популярный PHP-фреймворк Laravel построен на основе Symfony. Курс рассчитан на PHP-разработчиков с опытом работы от двух лет.
Вы научитесь:
- использовать Symfony в проектах;
- обеспечивать безопасность приложения;
- тестировать и мониторить полученный код;
- использовать встроенные инструменты фреймворка;
- разворачивать приложения в различных окружениях.
Программа обучения
Модуль 1. Знакомство с фреймворком. Пишем базовый функционал
- Тема 1. Вводное занятие и выбор проектной работы
- Тема 2. Установка и «Hello, world»
- Тема Фронтэнд
- Тема Doctrine ORM
- Тема Doctrine Migrations
- Тема 6. DI и сервисы
Модуль 2. Маршрутизация и HttpFoundation
- Тема 7. Контроллеры и маршрутизация
- Тема 8. Компонент HttpFoundation
- Тема 9. Symfony Forms
- Тема 10. Авторизация и аутентификация
- Тема 11. REST-приложения и FOSRestBundle
- Тема 12. Stateless API
Модуль 3. Интеграция с другими системами
- Тема 13. Логирование и мониторинг
- Тема 14. Кэширование
- Тема 15. Очереди: начало
- Тема 16. Очереди: расширенные возможности
- Тема 17. Полнотекстовый поиск, Elastica
Модуль 4. Тестирование и развёртывание
- Тема 18. Unit-тестирование
- Тема 19. Консольные команды в Symfony
- Тема 20. Интеграционное тестирование
- Тема 21. NelmioApiDocBundle и документация API
- Тема 22. Развёртывание приложения
Модуль 5. Symfony: Advanced practices
- Тема Symfony Bundles и пакеты
- Тема 24. Разработка прототипов с помощью генерации кода
- Тема 25. PaaS-решения для Symfony
- Тема 26. Микрофреймворки на базе Symfony на примере Symlex
- Тема 27. API Platform: введение
- Тема 28. Внедряем GraphQL
- Тема 29. API Platfrom: погружение
Модуль 6. Проектная работа
- Тема 30. Консультация по проектам и домашним заданиям
- Тема 31. Защита проектных работ
- Тема 32. Подведение итогов курса
Выпускной проект — задача, выполняемая в течение курса. Представляет собой полноценный микросервис, реализованный на базе фреймворка Symfony 5. При написании проекта потребуется использовать инструменты логирования и мониторинга (Sentry, Graphite), работать с базой данных (предпочтительно с PostgreSQL, но можно и с MySQL) и кэшем (Redis/Memcached на выбор), взаимодействовать с брокером сообщений (RabbitMQ) для обеспечения асинхронной обработки пользовательских запросов. Проект должен быть покрыт юнит- и интеграционными тестами, для проекта требуется реализовать его развёртывание при помощи Gitlab, GitHub или других инструментов. Опционально в рамках проекта возможно применение инструментов API Platform для реализации API с использованием GraphQL.
Вы сможете выбрать один из 4-х вариантов проекта:
- проект от SkyEng: «Сервис хранения прогресса студента». Сервис обеспечивает хранение данных о выполнении студентом учебных заданий;
- проект от SkyEng: «Сервис подбора преподавателей». Сервис позволяет подобрать наилучшего преподавателя для ученика, исходя из компетенции преподавателей и потребностей студента;
- проект от SkyEng: «Сервис управления контентом занятий». Сервис позволяет студенту видеть самую свежую версию контента занятия. При получении студентом доступа к заданию ревизия задания фиксируется для этого студента, чтобы при повторном просмотре выполненного задания он не увидел внесённые позже изменения;
- проект на свой выбор.
После обучения вы:
- заберете с собой полный комплект обучающих материалов: видеозаписи всех вебинаров, презентации к занятиям, а также решение задач и проектов в виде кода на GitHub и другие дополнительные материалы;
- получите сертификат о прохождении курса;
- освоите Symfony Framework и получите опыт разработки на нем;
- получите приглашение пройти собеседование в компаниях-партнерах (эту возможность получают самые успешные студенты).
Это трёхдневный курс посвящен работе с PHP-фреймворком Symfony. Курс является хорошим стартом для изучения главных составляющих фреймворка и ориентирован на практикующих PHP-разработчиков и разработчиков, знакомых с базовыми понятиями продвинутой работы на PHP. По разным рейтингам Symfony входит в топ5 самых популярных PHP-фреймворков.
Вы научитесь:
- Устанавливать Symfony
- Настраивать маршрутизаторы
- Реализовывать логику в контроллерах и моделях
- Работать с базой данных из Symfony
- Читать и записывать сессионные данные
- Настраивать шаблоны (представления).
Вы будете знать:
- Устройство основных компонентов Symfony
- Устройство связь между маршрутами и контроллерами
- Как конфигурировать приложение
- Способы создания шаблонов (представлений).
Программа курса
Модуль 1. Установка и настройка фреймворка (2 ак. ч.)
- Введение во фреймворк
- Запуск приложения на Symfony
Модуль 2. Создание страниц в Symfony (2 ак. ч.)
- Создание страницы: маршрут и контроллер (Route and Controller)
- Аннотации маршрутов
- Рецепт автоустановки с Symfony Flex
- Команды bin/console
- Web Debug Toolbar: отладка
- Рендеринг шаблона
- Проверка структуры проекта
Модуль 3. Маршрутизация (2 ак. ч.)
- Создание маршрутов (Routes)
- Добавление требуемых {wildcard}
- Заполнители по умолчанию
- Список всех маршрутов
- Расширенная настройка маршрутизации
- Шаблон имен для контроллера
- Создание URL-адресов
Модуль 4. Контроллеры (4 ак. ч.)
- Простой контроллер
- Классы базовых контроллеров и сервисы
- Управление ошибками и страницами 404
- Объект Request как аргумент контроллера
- Управление сессией
- Объект запроса и ответа
Модуль 5. Создание и использование шаблонов (2 ак. ч.)
- Шаблоны
- Наследование шаблонов и макеты
- Именование и расположение шаблонов
- Теги и помощники (Helpers)
- Включение таблиц стилей и JavaScript-скриптов в Twig
- Выходное экранирование
Модуль 6. Настройка Symfony и работа с базой данных (4 ак. ч.)
- Конфигурация: config/packages/
- Ссылка на конфигурацию и сброс
- Ключевые параметры
- Окружение и другие файлы конфигурации
- Работа с базой данных
Модуль 7. Практическая работа: Создание интернет-магазина (8 ак. ч.)
- Создание базы для каталога товаров
- Работа с каталогом и корзиной
- Работа с заказом
- Выборка заказов.
Чему вы научитесь:
- Станете продвинутым и современным Symfony программистом
- Построите современный и масштабируемый интернет-магазин (вместе с адаптивной админкой)
- Будете готовы к работе, понимая, как работать с мощным стеком Symfony + VueJS
- Думать, как эффективный программист: продумывать структуру приложения, создавать код с упором на масштабирование
- Изучите основные компоненты Symfony: Validation, Messenger, Twig, консольные команды, Symfony CLI
- Изучите проектирование масштабируемой архитектуры VueJS + Vuex
- Современное ООП: наследование, конструкторы, абстрактные классы и т.д.
- Работу с реальными средами приложения: разработка, тестирование и деплой
- Проектировать адаптивные письма используя библиотеку Inky
- Эффективное тестирование: Unit-тесты, интеграционные тесты, функциональные тесты (Symfony Panther + Selenium)
- Как проектировать код, используя современные практики и паттерны
- Оптимизировать свой код используя современные линтеры: PHPUnit, PHP-CS-fixer, ESLint
- Современные инструменты разработчика 2021: Symfony CLI, Composer, NPM, WebPack, VueJS DevTools и т.д.
- Эффективно осуществлять деплой приложения на боевой сервер Google Cloud VPS и запускать тесты на CircleCI.
Материалы курса:
25 разделов, 210 лекций
- Здравствуй, Symfony!
- Создаем домашнюю страницу! Как работать с Symfony?
- Знакомимся с формами
- Регистрируемся и авторизуемся
- Создаем панель администратора + новую команду
- Делаем раздел управления продуктами
- Рефакторинг #1
- Делаем раздел управления категориями + виджет «Рекомендации»
- Создаем страницу корзины
- Формируем первый заказ
- Создаем раздел управления пользователями
- Знакомимся с ApiPlatform
- Настраиваем Webpack
- Делаем редактирование заказа — Vue.js
- Делаем страницу корзины — Vue.js
- Делаем всплывающую корзину — Vue.js
- Отправляем письма. EventSubscriber и Mailer!
- Авторизуемся через социальные сети + восстанавливаем пароль
- Делаем сайт на нескольких языках!
- Привет, Symfony Messenger!
- Рефакторинг #2
- Пишем тесты
- Добавляем линтеры кода + используем Makefile
- Деплоим и тестим
- Заключительная часть.
Программа курса
Уровень 1. Основы Symfony
- Установка фреймворка Symfony: обзор структуры и конфигурация
- Пишем первый контроллер на Symfony и работаем с шаблонами
- Doctrine ORM: первая сущность, миграции и фикстуры
- Работаем с шаблонизатором Symfony
- Формы в Symfony
- Полноценный CRUD в Symfony
- Вебпак и загрузка стилей
- Форма поиска на Symfony
Уровень 2. Пишем блог
- Регистрация на Symfony. Создание сущности пользователя
- Создание формы регистрации и отправка писем на почту
- Знакомство с Event и EventSubsriber в Symfony
- Создание формы логина на Symfony
- Авторизация в Symfony через социальные сети. Часть 1: авторизация через Google
- Авторизация в Symfony через социальные сети. Часть 2: авторизация через Github
- Знакомство с созданием консольных команд: cron.
- Работа с доктриной. Связь один ко многим: связываем комментарии с постами
- Работа с доктриной. Один ко многим: связываем пост с автором
- Работа с доктриной. Многие ко многим: связываем посты с категориями
- Поговорим о сервисах в Symfony
- Слушатели: как работают и как их использовать не по стандарту
- Разворачиваем Symfony приложение в Docker с использованием php 7.4
- Консольные команды в Symfony: расширенные возможности
- Собственные типы данных для Doctrine и Value Object.
Видеоуроки — программирование сайтов на PHP с использованием Symfony. Видеоуроки начинаются с самых основ, рассказывается работа с контроллерами, twig файлами, работа с базой данных через doctrine и т.д.
Цель видеоуроков — рассказать о фреймворке Symfony все максимально подробно, а не закончить только базу за 1 час.
Курсы:
- Быстрый старт в Symfony.
- Шаблонизатор Twig в Symfony.
- Работа с базой данных. Связи.
- Работа с переменными окружения.
- Работа с базой данных. Основы.
- Работа с сервисами.
- Наследование сущностей Doctrine (на примере Symfony)
- Создание API-платформы.
- Основы работы с файлами в Symfony на примере загрузки изображений.
- Обновление Symfony 4 до Symfony 4.4 и 5. Рецепты. Работа с Git.
- Symfony 5. Аутентификация пользователей через login форму.
- Работа с бандлом Doctrine Extensions.
- Работа с формами.
- Админка на EasyAdmin в Symfony
- Query Builder
- Docker для Symfony
- Symfony.
Содержание:
- Благодарности
- О чём эта книга?
- Проверка рабочего окружения
- Знакомство с проектом
- С нуля до развёртывания
- Выбор методологии разработки
- Поиск и устранение неисправностей
- Создание контроллера
- Подготовка базы данных
- Описание структуры данных
- Создание административной панели
- Создание пользовательского интерфейса
- Работа с ветками
- Обработка событий
- Жизненный цикл объектов Doctrine
- Получение обратной связи с помощью форм
- Защита административной панели
- Защита от спама с помощью API
- Тестирование
- Переход к асинхронности
- Управление состоянием с помощью Workflow
- Отправка электронной почты администраторам
- Повышение производительности с помощью кеширования
- Стилизация интерфейса с помощью Webpack
- Изменение размера изображений
- Выполнение заданий cron
- Уведомление различными способами
- Создание API с помощью API Platform
- Разработка SPA
- Локализация приложения
- Оптимизация производительности
- Изучение внутренностей Symfony
- Использование Redis для хранения сессий
- Использование RabbitMQ в качестве брокера сообщений
- Что дальше?
Symfony — это бесплатный PHP-фреймворк, основанный на архитектуре MVC и работающий на принципах ООП. Он состоит из набора компонентов – бандлов, которые можно повторно использовать во время создания проектов. Его используют для создания масштабируемых и производительных приложений и веб-сайтов.
После обучения и успешной сдачи всех заданий лучшим студентам будет предложена работа.