Программа интенсива

Внимание! Программа может изменяться и дополняться.

Раздел 1
Знакомство

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

  • Общая информация по курсу
  • Как работать с Гит
  • Краткое описание языка, его сфера применения
  • Как установить
  • Как запустить сценарий, встроенный веб-сервер
  • Азы синтаксиса: переменные, операторы, типы, условные конструкции
  • Понятие выражения
Практика

Практика

Ознакомительное задание — пишем свой первый сценарий

Раздел 2
Заканчиваем с азами

На этом вебинаре мы закончим изучение синтаксиса языка, рассмотрев такие понятия, как функции и массивы. Важно дать чёткое понимание этих двух важных типов данных, пояснив идею, с помощью простых и доступных аналогий. Узнав, что такое функции и как они работают, познакомимся с несколькими популярными функциями из стандартной библиотеки. Объяснение как работают области видимости: глобальные и локальные переменные. Почему глобальные переменные — это плохо. Вторая половина лекции расскажет о двух вариантах исполнения PHP — в режиме командной строки и веб-сервером. Кратко расскажем о взаимодействии PHP-интерпретатора с сервером. В конце занятия узнаем как установить необходимый софт, IDE, как пользоваться и настраивать.

  • циклы, функции, массивы, встроенные функции, области видимости
  • режимы работы: CLI и веб
  • установка и использование необходимого инструментария
Практика

Практика

Пишем функции, используя все знания о синтаксисе языка

Раздел 3
HTTP, HTML и формы

Краткий экскурс в язык HTML. Узнаем, почему PHP отлично подходит для генерации HTML и почему он сам по себе является шаблонизатором. От HTML перейдём к средству его доставки — протоколу HTTP. Поговорим о принципах работы этого протокола, основных методах, заголовках и кодах ответа. Логичным продолжением экскурса в HTTP будет работа с формами — главная область применения PHP. Рассмотрим различные способы отправки данных из браузера на сервер. В конце разговора научимся отправлять файлы.

  • как встраивать в HTML, шаблонизация
  • как работает HTTP
  • работаем с формами
  • загрузка файлов
Практика

Практика

Создаём форму и получаем из неё данные

Раздел 4
Хранение состояния

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

  • сессии и куки — зачем они нам нужны и проблема хранения состояния в вебе
  • процесс аутентификации
  • работа с файлами
  • подключение файлов
Практика

Практика

Организуем простую веб-аутентификацию

Раздел 5
Реляционные базы данных

Это очень важное занятие, на котором студенты узнают что такое современные реляционные СУБД, зачем они нужны и как они работают. Придётся немного затронуть теорию отношений и реляционную алгебру. Рассмотрим, как общаться с базой данных и применять полученные теоретические знания, используя SQL. В конце занятия выполним SQL-запрос из PHP и узнаем как работать с результатом.

  • теория, история реляционных баз данных
  • основные концепции, формы
  • язык запросов SQL
  • простой пример работы в PHP
Практика

Практика

Пишем SQL-код для создания таблиц проекта

Раздел 6
Практика работы с реляционными базами данных

Используя знания, полученные на прошлом занятии, углубимся в работу с СУБД из PHP. Рассмотрим основные функции для работы с MySQL. Подключимся к бд, научимся обрабатывать ошибки, получать и сохранять данные. Научившись этим операциям, попробуем решить пару практических задач, связанные с поиском в базе данных, выводе найденной информации и сортировке. В конце занятия узнаем какие могут быть уязвимости при работе с базой данных из PHP и как правильно составлять запросы, чтобы наш код был безопасным.

  • как PHP работает с базами данных, PDO и MySQLi
  • получаем и сохраняем одиночные записи
  • работа с коллекциями: пагинация, сортировка, поиск
  • пара слов о безопасности
Практика

Практика

Пишем SQL-запросы на чтение данных и работаем с базой данных из PHP

Раздел 7
Теория ООП и использование в PHP

Введение в объектно-ориентированное программирование. Узнаем что это такое, какие проблемы решает и почему не всегда можно писать код в процедурном стиле. Поговорим, чем сложные программы отличаются от простых и как ООП поможет нам управлять этой сложностью. Будут рассмотрены три постулата ООП — наследование, инкапсуляции и полиморфизм. Смысл каждого из них будет раскрыт на практических примерах. Затем научимся писать ООП код на PHP, изучив основные конструкции в языке, которые могут с этим помочь.

  • смысл ООП, история и значение
  • три постулата
  • поддержка в PHP
Практика

Практика

Выделяем сущности в личном проекте и оформляем их как классы

Раздел 8
Практика ООП

Ещё раз посмотрим на различия между сложными и простыми программами. Увидим, как простая программа становится все менее понятной с ростом кодовой базы. Подумаем, какие могут быть пути для упрощения логики и как в этом может помочь ООП подход. От этих размышлений плавно перейдём к шаблону MVC, подробно рассмотрим всего его составляющие и как они могут решить нашу проблему. В конце занятия поймём, что MVC — это не панацея, и найдём дополнительные способы делать наш код поддерживаемым и расширяемым.

  • шаблон MVC
  • повторное использование
Практика

Практика

Делаем страницы проекта с использованием MVC подхода

Раздел 9
Чужой код

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

  • почему велосипеды это плохая идея
  • автозагрузка в PHP
  • знакомство с менеджером пакетов Composer
  • популярные библиотеки
Практика

Практика

Подключаем библиотеку для работы с почтой, добавляем автозагрузку классам

Раздел 10
Финал

Вспоминаем чему научились на этом интенсиве, делаем обзор итогового проекта и обсуждаем как его можно улучшить. Ответы на вопросы от студентов. Рассматриваем дальнейшие темы для изучения и пути развития в веб-разработке.

  • подведение итогов
  • сбор фидбека
  • ответы на вопросы
  • куда двигаться дальше
Практика

Практика

Доработка проекта