Раздел 1
Общая информация по курсу
Как работать с гит
Краткое описание языка, его сфера применения
Как установить
Как запустить сценарий, встроенный веб-сервер
Азы синтаксиса: переменные, операторы, типы, условные конструкции
Понятие выражения
Раздел 2: заканчиваем с азами
На этом вебинаре мы закончим изучение синтаксиса языка, рассмотрев такие понятия, как функции и массивы. Важно дать четкое понимание этих двух важных типов данных, пояснив идею, с помощью простых и доступных аналогий. Узнав, что такое функции и как они работают, познакомимся с несколькими популярными функциями из стандартной библиотеки. Объяснение как работают области видимости: глобальные и локальные переменные. Почему глобальные переменные - это плохо. Вторая половина лекции расскажет о двух вариантах исполнения php - в режиме коммандной строки и веб-сервером. Кратко расскажем о взаимодействии php интерпретатора с сервером. В конце занятия узнаем как установить необходимый софт, IDE, как пользоваться и настраивать.
циклы, функции, массивы, встроенные функции, области видимости
режимы работы: cli и веб
установка и использование необходимого инструментария
Раздел 3: HTML/HTTP/Формы
Краткий экскурс в язык HTML. Узнаем, почему php отлично подходит для генерации html и почему он сам по себе является шаблонизатором. От HTML перейдем к средству его доставки - протоколу HTTP. Поговорим о принципах работы этого протокола, основных методах, заголовках и кодах ответа. Логичным продолжением экскурса в HTTP будет работа с формами - главная область применения PHP. Рассмотрим различные способы отправки данных из браузера на сервер. В конце разговора научимся отправлять файлы.
как встраивать в html, шаблонизация
как работает HTTP
работаем с формами
загрузка файлов
Раздел 4: хранение состояния
Из прошлого занятия студенты уже узнали главную особенность протокола HTTP - он не хранит состояния. Поэтому на этой лекции научимся обходить это ограничение и организовывать сохранение данных пользователя между сеансами, используя куки и сессии. Организуем возможность браузеру запоминать пользователя и показ разной информации в зависимости от авторизованности пользователя.
сессии и куки - зачем они нам нужны и проблема хранения состояния в вебе
процесс аутентификации
работа с файлами
подключение файлов
Раздел 5: реляционные БД - теория и немного практики
Это очень важное занятие, на котором студенты узнают что такое современные реляционные СУБД, зачем они нужны и как они работают. Придется немного затронуть теорию отношений и реляционную алгебру. Рассмотрим, как общаться с базой данных и применять полученные теоретические знания, используя SQL. В конце занятия выполним sql запрос из php и узнаем как работать с результатом.
теория, история реляционных БД
основные концепции, формы
язык запросов SQL
простой пример работы в PHP
Раздел 6: практика работы с Реляционными БД
Используя знания, полученные на прошлом занятии, углубимся в работу с СУБД из PHP. Рассмотрим основные функции для работы с mysql. Подключимся к бд, научимся обрабатывать ошибки, получать и сохранять данные. Научившись этим операциям, попробуем решить пару практических задач, связанные с поиском в бд, выводе найденной информации и сортировке. В конце занятия узнаем какие могут быть уязвимости при работе с БД из php и как правильно составлять запросы, чтобы наш код был безопасным.
как PHP работает с БД, pdo и mysqli
получаем и сохраняем одиночные записи
работа с коллекциями: пагинация, сортировка, поиск
пара слов о безопасности
Раздел 7: теория ООП и использование в PHP
Введение в объектно ориентированное программирование. Узнаем что это такое, какие проблемы решает и почему не всегда можно писать код в процедурном стиле. Поговорим, чем сложные программы отличаются от простых и как ООП поможет нам управлять этой сложностью. Будут рассмотрены три постулата ООП - наследование, инкапсуляции и полиморфизм. Смысл каждого из них будет раскрыт на практических примерах. Затем научимся писать ООП код на PHP, изучив основные конструкции в языке, которые могут с этим помочь.
смысл ООП, история и значение
три постулата
поддержка в PHP
Раздел 8: практика ООП
Еще раз посмотрим на различия между сложными и простыми программами. Увидим, как простая программа становится все менее понятной с ростом кодовой базы. Подумаем, какие могут быть пути для упрощения логики и как в этом может помочь ООП подход. От этих размышлений плавно перейдем к шаблону MVC, подробно рассмотрим всего его составляющие и как они могут решить нашу проблему. В конце занятия поймем, что MVC - это не панацея, и найдем дополнительные способы делать наш код поддерживаемым и расширяемым.
шаблон MVC
повторное использование
Раздел 9: чужой код
Теория
Поговорим о том, в чем настоящее назначение разработки и программиста - работать над решением проблем. Узнаем, как правильно выбирать и искать готовые решения, когда это целесообразно, а когда нет. Попробуем выделить свою библиотеку и научимся автоматически её подключать. Рассмотрим разные способы автозагрузки и плавно перейдем к менеджеру пакетов composer. Познакомимся с основными сценариями его использования, научимся оформлять свой код в виде пакета. В конце занятия краткое ревью современных, качественных библиотек, которые должен знать каждый разработчик.
почему велосипеды это плохая идея
автозагрузка в PHP
знакомство с менеджером пакетов Composer
популярные библиотеки
Раздел 10: финал
Теория
Вспоминаем чему научились на этом интенсиве, делаем обзор итогового проекта и обсуждаем как его можно улучшить. Ответы на вопросы от студентов. Рассматриваем дальнейшие темы для изучения и пути развития в веб-разработке.
подведение итогов
сбор фидбека
ответы на вопросы
куда двигаться дальше