TC200PY Разработка PHP веб-приложений на Yii2. Шаблон приложения advanced

Автор курса: Герасимчук Михаил
Разработка HighLoad решений для pushwoosh.com. Ранее — работа над API Real Estate продукта, MailForwarder-ом, аутсорс разработка.

Интро

На кого ориентирован курс

Этот курс был разработан с ориентацией на студентов и выпускников технических вузов, а также на тех, кто заинтересован программированием, но не имеет опыта коммерческой разработки и желает устроиться на позицию стажера или младшего PHP разработчика.

Если вы писали лабораторные работы на C++/Java/Delphi, или же занимались собственными веб-проектами с использованием PHP/Ruby/Python, или использовали другие языки, но вам недостаточно этих навыков для их продажи на рынке труда, тогда ваш кейс в точности соответствует целям нашего курса.

Какие навыки предоставляет курс

Цель курса состоит в том, чтобы дать вам верхнеуровневые навыки коммерческой разработки, которые будут нужны вашему будущему работодателю. В процессе прохождения курса вы не будете детально изучать каждый компонент фреймворка, так как это довольно долгий процесс и углубляться в него стоит по мере необходимости.

Данный курс даст вам навыки, с помощью которых вы сможете самостоятельно выполнить типовой аутсорс заказ по разработке CRM систем, или любого другого продукта, включающего в себя клиентское приложение, и приложение являющееся панелью управления администратора.

В курсе мы изучим, как создать проект с нуля, используя composer, и шаблон приложения Yii2 advanced. Изучим подход работы с MySQL СУБД в фреймворке Yii2, научимся делать MVP с помощью генератора компонентов Gii, и в конце, доведем проект до логического завершения, используя дизайнерскую верстку для клиентского приложения, и bootstrap framework для приложения панели администратора.

Как устроены процессы

После того, как вы начнете курс, наша система в автоматическом режиме создаст для вас отдельный сервер, на котором будут уже сконфигурированы и запущены PHP, веб-сервер Apache и MySQL СУБД. Благодаря этому, вам не надо будет тратить ни секунды на настройку рабочего окружения на вашей локальной машине, и позволит сосредоточиться только на обучении. Также это исключает абсолютно все ошибки и проблемы, которые могут возникнуть у вас в связи с настройкой окружения на вашей локальной машине.

Уже в первых главах курса, вы создадите проект, который будет доступен по публичному URL в сети. На ваш сервер вы сможете попасть с помощью ssh, или воспользоваться VSCode Cloud IDE, которая будет доступна прямо из браузера. Облачная версия VSCode IDE предоставляет доступ как к файлам проекта, так и к консоли сервера, а также к MySQL СУБД.

Все задания, которые вы будете выполнять, проверяются автоматизированными приемочными тестами — это реальные сценарии работы с сайтом и окружением. Тестовые сценарии запускаются после того, как вы уведомляете систему о том, что завершили практическое задание. За ходом тестирования вы сможете наблюдать в live режиме, а после завершения тестов, вам будут доступны видеозаписи тестовых сессии и текстовые логи — эта информация позволит увидеть и разобраться с ошибками решения, если такие возникнут.

Благодаря автоматизированным приемочным тестам вы будете абсолютно уверены в том, что выполнили задание правильно, а время выполнения этих тестов занимает минуты.

Требования

Для прохождения курса вы должны владеть следующими базовыми навыками программирования(на любом из языков):

  • Условные операторы
  • Циклы и массивы
  • Работа со строками
  • Понимание ООП
  • Написание классов, методов и функций

Если вы самостоятельно писали лабораторные работы по программированию во время обучения в институте или занимались разработкой собственных проектов, это так же говорит о том, что вы соответствуете требованиям данного курса.

Средства, языки и другие технологии, представленные в курсе

  • PHP7.2
  • Yii2
    • Advanced template
    • Gii
    • CRUD
    • Миграции
    • Active Record
    • Виджеты
    • Табличный ввод
    • Сценарии
    • Загрузка файлов
    • Логирование
    • Сессии
    • Многошаговые/Wizard формы
  • Bootstrap
  • Паттерны и подходы
    • Model View Controller
    • Active Record
    • DRY
  • Composer
  • MySQL
  • Apache
  • Bash
  • SSH

Длительность

Курс ориентирован на прохождение в течении двух месяцев, а максимально доступное время выполнения, ограничено тремя месяцами.

Рекорд скорости прохождения курса — 12 дней, 2 часа, 7 минут и 40 секунд. В это время, курс был пройден полностью, с выполнением всех заданий. В рамках прохождения курса, было выполнено 183 тестовых сессии, из которых 64 завершились успешно.

Программа. Основные разделы

Курс состоит из восьмидесяти коротких уроков. В рамках которых объясняются новые темы и даются задания по реализации главного проекта курса. Все уроки сгруппированы в главы, полный список которых, приведен ниже.

  1. Введение и описание окружения для разработки
  2. Описание разрабатываемого проекта
  3. Инициализация проекта
  4. Первое знакомство
  5. Основные понятия
  6. Интеграция верстки главного layout-а для frontend приложения
  7. Страница блога frontend приложения
  8. Домашняя страница frontend приложения
  9. Страница About frontend приложения
  10. Рефакторинг. Выделение базовых контроллеров для backend приложения
  11. Регистрация пользователя в frontend приложении
  12. Страница авторизации frontend приложении
  13. Работа с сессиями. Трейты. Обработка ошибок
  14. Страницы просмотра и редактирования профиля frontend приложения
  15. CRUD в backend приложении, для сущности Event
  16. CRUD в backend приложении, для сущности ExtraItem
  17. Рефакторинг. Форматирование данных в GridView. Использование сторонних виджетов ввода. Система сеток Bootstrap
  18. CRUD в backend приложении, для сущности Table
  19. CRUD в backend приложении, для сущности Order. Первое приближение
  20. Wizard оформления заказа события frontend приложения. Транзакции. Табличный ввод
  21. Интеграция страниц по работе с заказами frontend приложения
  22. Страница Contact, frontend приложения
  23. Управление заказами в backend приложении
  24. Работа с ролями в приложениях frontend и backend
  25. Установка production окружения в проекте. Создание дампа БД
  26. Развертывание проекта на Digital Ocean VPS. Регистрация доменного имени
  27. Заключение

beta курс

Данный курс находится в стадии бета. Но это не значит, что для курса предъявляются низкие стандарты качества. Курс также детально тестируется нами, перед его открытием.

Стадией бета мы хотим лишь сообщить о том, что при прохождении курса, могут возникнуть очень специфичные типы проблем, которые воспроизводятся только при нестандартном стечении обстоятельств, не вошедших в наши тестовые планы. И поэтому, мы уделяем дополнительное внимание анализу прогресса прохождения студентами, курсов в этой стадии, и в случае проблем, мы проактивно инициируем их решение.

На протяжении всего времени, которое курс находится в стадии бета, он бесплатен. И если вы уже начали курс в этой стадии, данное условие для вас не изменится.

И так как для каждого студента, наша платформа задействует существенные вычислительные ресурсы для обеспечения работы выделенного окружения, кол-во студентов, которые могут одновременно изучать курс — ограничено.

Поэтому для бета курсов, существует ограничение недельного периода бездействия — то есть, если в течение недели вы не выполняли заданий курса, ваш активный статус курса будет деактивирован. Данные ограничения созданы для того, чтобы как можно больше студентов, могли бесплатно пройти курс. Это способствует более быстрому выведению курса из стадии бета, в чем мы конечно же заинтересованы.