Голосов: 0
#1
Интенсивный онлайн‑курс
«Базовый PHP»
30 января — 7 марта 2018
Задача HTML Academy — готовить полноценных и востребованных специалистов, готовых работать в веб-индустрии.
Учебный проект
Учебный проект будет общим для всех, над ним вы будете работать вместе с преподавателем на вебинарах.
Проект «GifTube»
Это сервис для загрузки и просмотра гифок. Сервис поддерживает:
Живую версию этого проекта можно посмотреть по адресу .
- загрузку и обработку гифок;
- поиск и просмотр гифок;
- добавление комментариев и лайков;
- регистрацию и авторизацию пользователей.
Личные проекты
После каждого вебинара вы будете выполнять задания над одним из двух личных проектов на ваш выбор. Над проектом вы будете работать и самостоятельно, и в паре с персональным наставником.
Проект «Дела в порядке»
Сервис для планирования дел с возможностью создания, поиска и редактирования задач.
Проект «Yeti Cave»
Интернет-аукцион с возможностью создания, поиска и выкупа лотов.Раздел 1
Знакомство
Вместе узнаем как будет проходить работа на интенсиве, разберём, что нужно будет изучать и познакомимся с Гитом. Взглянем на историю развития языка программирования PHP и сфере его применения в современной разработке.
Разберёмся с основами программирования: начиная с понятия алгоритма и заканчивая непосредственно синтаксисом языка.
План лекции:
- Общая информация об интенсиве;
- Как работать с Гитом;
- Краткое описание языка и его сфера применения;
- Презентация личных проектов;
- Как установить необходимый софт;
- Пишем и запускаем первый сценарий;
- Азы синтаксиса: переменные, операторы, типы, условные конструкции;
- Понятие выражения.
Практика
Ознакомительное задание — пишем свой первый сценарий.
Раздел 2
Стандартные API
Закончим изучение синтаксиса языка, рассмотрев такие понятия, как функции, массивы и объекты. Познакомимся с несколькими популярными функциями из стандартной библиотеки. Взглянем на области видимости: глобальные и локальные переменные.
Разберёмся с двумя вариантами запуска PHP-сценариев — в режиме командной строки и веб-сервером. Посмотрим на взаимодействие PHP-интерпретатора с сервером.
План лекции:
- Циклы, функции, массивы, встроенные функции, области видимости;
- Режимы работы: CLI и веб-сервер;
- Окружение разработчика.
Практика
Пишем функции, используя все знания о синтаксисе языка.
Раздел 3
Шаблонизация и организация кода
Взглянем на шаблонизацию и разберёмся зачем это нужно на примере учебного проекта.
Попробуем разбить большие PHP-сценарии на отдельные файлы. Рассмотрим вопросы правильной организации кода: вынесем представление в отдельные шаблоны. Не забудем разобрать вопросы безопасности при выводе информации.
План лекции:
- Как встраивать PHP в вёрстку;
- Как подключать PHP-сценарии — инструкция require;
- Шаблонизация;
- Безопасность.
Практика
Шаблонизация личного проекта.
Раздел 4
HTTP и формы
Познакомимся с протоколом HTTP. Поговорим о принципах работы протокола, основных методах, заголовках и кодах ответа. Узнаем, как PHP упрощает работу с HTTP и как получать и обрабатывать параметры запроса. Рассмотрим способы отправки данных из браузера на сервер.
Начнём работать с формами — главной областью применения PHP. Посмотрим как правильно получать данные из форм, валидировать их и показывать ошибки. Научимся отправлять и сохранять полученные от пользователей файлы.
План лекции:
- Описание и детальное знакомство с протоколом HTTP;
- GET-параметры запроса;
- Как создавать и отправлять формы;
- Валидация форм;
- Отправка файлов на сервер.
Практика
Получение, обработка и показ данных из форм.
Раздел 5
Хранение состояния и аутентификация
Научимся обходить ограничение протокола HTTP и организуем хранение данных пользователя между запросами. Рассмотрим работу с куками и сессиями.
Разберёмся с понятием аутентификации — процедуре проверки переданного логина и пароля для предоставления пользователю доступа к закрытой части сайта. Рассмотрим частые задачи: как правильно хранить и проверять пароли, как «запоминать» пользователя на сайте и другие. Пройдём весь процесс по шагам: от ввода логина и пароля в форму до проверки авторизации.
План лекции:
- Проблема хранения состояния в вебе;
- Куки и сессии;
- Аутентификация;
- Как хранить и проверять пароли;
- Практика организации доступа в учебном проекте.
Практика
Организуем простую аутентификацию.
Раздел 6
Чужой код
Поговорим о том, в чём настоящее назначение разработки и программиста — работать над решением проблем. Узнаем, как правильно выбирать и искать готовые решения, когда это целесообразно, а когда нет.
Попробуем выделить свою библиотеку и научимся автоматически её подключать. Рассмотрим современный способ поиска и установки библиотек — пакетный менеджер . Познакомимся с основными сценариями его использования и научимся оформлять свой код в виде пакета.
План лекции:
- Почему велосипеды это плохая идея;
- Что такое библиотеки;
- Современный менеджер пакетов composer;
- Популярные библиотеки.
Практика
Подключаем и используем библиотеку для работы с почтой.
Раздел 7
Базы данных: теория
Посмотрим на современные реляционные базы данных — зачем они нужны и как работают. Немного затронем теорию отношений и реляционную алгебру. Рассмотрим, как общаться с базой данных и применять полученные теоретические знания, используя язык запросов SQL. Потренируемся писать простые запросы на получение, добавление и обновление информации.
План лекции:
- Теория и история реляционных баз данных;
- Основные концепции;
- Что такое MySQL;
- Язык запросов SQL;
- Примеры SQL-запросов.
Практика
Пишем SQL-код для создания таблиц проекта.
Раздел 8
MySQL и PHP
Рассмотрим основные PHP-функции для работы с MySQL. Подключимся к базе данных, научимся обрабатывать ошибки, получать и сохранять данные. Попробуем решить несколько практических задач, связанных с поиском в базе данных, выводе найденной информации и добавлении новой.
Уделим особое внимание безопасности при работе с базами данных. Узнаем какие бывают уязвимости при работе с базами данных из PHP и как правильно составлять запросы, чтобы наш код был безопасным.
План лекции:
- Как PHP работает с базами данных;
- Выбор расширения: PDO или MySQLi;
- Получаем и сохраняем одиночные записи;
- Сложные запросы на поиск и объединение;
- Безопасность при выполнении SQL-запросов.
Практика
Пишем SQL-запросы на чтение данных и работаем с базой данных из PHP.
Раздел 9
MySQL и PHP: частые задачи
Поговорим об оптимизации SQL-запросов: почему база данных это всегда самое узкое место и как сделать, чтобы сайт не падал при увеличении посещаемости.
Рассмотрим актуальные задачи: как правильно организовать вывод контента, сделать постраничную сортировку, полнотекстовый поиск и другое.
План лекции:
- Производительность баз данных;
- Кэширование;
- Нормализация и денормализация;
- Практика: постраничная навигация;
- Практика: поиск и фильтрация данных.
Практика
Добавляем в личный проект поиск и пагинацию.
Раздел 10
Финал
Вспоминаем чему научились на интенсиве, делаем обзор итогового проекта и обсуждаем как его можно улучшить.
Рассматриваем темы для дальнейшего изучения и пути развития в веб-разработке. Обзор лучших практик в современном PHP: ООП, MVC, фреймворки.
План лекции:
- Подведение итогов;
- Ответы на вопросы;
- Куда двигаться дальше.
Кирилл Сенкевич
преподаватель интенсива
Опыт веб-разработки 9 лет, работал в крупных компаниях России и Европы, а также как независимый исполнитель на заказчиков со всего мира.
Для просмотра содержимого вам необходимо зарегистрироваться!Для просмотра содержимого вам необходимо зарегистрироваться!
Последнее редактирование модератором:
- Статус
- В этой теме нельзя размещать новые ответы.