Технологии разработки серверных приложений на PHP
Небольшой курс по созданию PHP-приложений разных типов (консольное, веб-приложение на стандартных возможностях PHP, веб-приложения на фреймворках Slim и Laravel).
Скайп для онлайн-занятий: https://join.skype.com/JxZa4C8W0rxL
Вопросы к зачету
- Эволюция PHP как языка для веб-разработки.
- PHP как императивный процедурный язык программирования. Типизация переменных, области видимости, особенности определения функций.
- Особенности объектно-ориентированного программирования в PHP.
- Реализация принципа модульности в PHP. Автозагрузка файлов и классов.
- Повторное использование кода для PHP-приложений. Пакетный менеджер Composer, портал Packagist.
- Стандарты PSR при разработке PHP-приложений.
- Модульное тестирование кода на PHP.
- Архитектура и способы разработки веб-приложений.
- Реализация клиент-серверной архитектуры веб-приложений, протокол HTTP.
- HTTP-методы и их связь с операциями CRUD. Инструменты для работы с HTTP-запросами.
- Передача данных в HTTP-запросе на сервер. Query string и тело запроса.
- Стандартные средства поддержки HTTP в PHP. Альтернативный синтаксис PHP.
- Архитектура серверной части веб-приложений на PHP. Сравнение консольных и веб-приложений на PHP.
- Архитектура одностраничных веб-приложений. Технологии асинхронного обмена данными с сервером.
- Работа с данными из веб-приложений с использованием REST API.
- Серверный и клиентский рендеринг веб-страниц, технологии Page Controller и Front Controller.
- Особенности разработки на основе фреймворков, стандарт PSR-7. Микрофреймворк Slim.
- Создание веб-приложений с помощью фреймворка Laravel.
Литература и ссылки к курсу
- Котеров Д.В., Симдянов И.В. "PHP 8" — СПб.: БХВ-Петербург, 2023. — 992 с.
- Зандстра М. "PHP: объекты, шаблоны и методики программирования", 4-е изд. – М. : ООО «И.Д. Вильямс», 2015. - 576 с.
- Стаффер М. "Laravel. Полное руководство", 2-е изд. – СПб. : Питер, 2020. - 512 с.
Презентации к лекциям
Схема сдачи лабораторных работ через Pull Request.
2. Серверная ОС. Консольные приложения на PHP.
3. Инструменты экосистемы PHP.
4. Базовые конструкции PHP, процедурный подход.
6. Среда исполнения веб-приложения. Протоколы HTTP и CGI.
7. Подходы к созданию и запуску веб-приложений. Стандартный PHP как инструмент веб-разработки
Лабораторные работы
Тематика заданий- Особенности языка и экосистемы PHP.
- Общие механизмы работы клиент-серверных веб-приложений.
- Стандартный PHP и фреймворки как инструменты для серверной веб-разработки.
- Для каждого студента 402-404 групп создан свой репозиторий в https://github.com/andpop-mrsu. В этих репозиториях преподаватель размещает задания для лабораторных работ (файлы task01.md, task02.md, ...), а студент - проекты для решения этих заданий (в соответствующих папках Task01, Task02, Task03, ...).
- Прав на запись в эти репозитории у студентов нет, ваши файлы должны попадать туда из личных репозиториев через механизм Pull Requests.
- Задание будет считаться принятым после закрытия соответствующего Pull Request в https://github.com/andpop-mrsu.
Статистика групп 402-404
При расчете баллов учитываются два критерия:
- Полнота выполнения задания (в процентах).
- Своевременность сдачи задания:
- К контрольному сроку - коэффициент 1.
- Задержка до 14 дней - коэффициент 0,8.
- Задержка 14 дней и более - коэффициент 0,5.