BEND-PHP10. Разработка серверной части веб-приложений (PHP)
Длительность дисциплины: 36 ак.ч.
Аннотация
В настоящее время область web-разработки является одной из самых значимых и востребованных, находя себе место в любой отрасли жизнедеятельности человека, начиная от сайтов визиток, заканчивая государственными порталами.
PHP (инструменты для создания персональных веб-страниц) – скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов.
Целью курса является предоставление слушателям знаний и умений, необходимых и достаточных для решения задач в области разработки серверной части web-приложений.
Знания и умения, полученные в результате изучения
В результате обучения слушатели будут:
- Знать:
- основы клиент-серверного взаимодействия;
- принципы функционирования и типы web-серверов;
- синтаксис языка PHP;
- основные инструменты разработки серверной части web-приложений.
- Уметь:
- создавать динамические web-сайты;
- разрабатывать web-приложения и web-сервисы с применением различных web-технологий.
Содержание дисциплины
Темы лекций
Тема 1
- Основы клиент-серверной архитектуры, клиент-серверные технологии.
- Модель OSI/ISO, протокол HTTP.
- Синтаксис PHP. Переменные и константы. Типы данных. Выражения. Операторы. Ссылки.
- Функции. Пользовательские функции. Динамический вызов функций.
- Взаимодействие PHP с формами HTML. Методы GET и SET.
Тема 2
- Основы алгоритмизации. Типы алгоритмов.
- Оператор ветвления.
- Оператор поливариантного выбора.
- Тернарный оператор.
- Циклы с известным количеством шагов.
- Циклы с пред- и пост- условием.
Тема 3
- Массивы. Одномерные и многомерные численно-индексированные массивы. Ассоциативные массивы. Доступ к элементам массива.
- Функции работы с массивами.
- Конструкция foreach.
- Сортировка массива.
Тема 4
- Работа со строками. Функции для работы со строками. Регулярные выражения.
- Обработка файлов и каталогов.
- Работа с файлами. Открытие, закрытие, получение информации о файле, чтение и запись. Режимы работы с файлами.
- Произвольный доступ к данным файла. Принадлежность и права доступа к файлу.
- Пользовательские функции для работы с файлами.
- Работа с каталогами.
- Работа с датой и временем.
- Выполнение кода из строки.
Тема 5
- Взаимодействие PHP с базами данных.
- Создание соединений с базой.
- Формирование запросов.
- Обработка ответов.
- Защита от инъекций.
Тема 6
- Работа с растровыми изображениями. Создание изображения. Распределение цветов. Основные функции рисования.
- Изменения растровых изображений. Открытие, внедрение водяных знаков, Создание пиктограмм.
- Использование текста в изображениях.
Тема 7
- Клиентская библиотека работы с URL.
- Предопределенные константы.
- Работа с GET, POST, PUT.
- Передача файлов через cURL.
- Работа с HTTPS.
Практики
Тема 1
- Написание пользовательских функций.
- Приведение типов и проверка валидности пользовательских данных.
Практическая работа: стек задач по пользовательским функциям.
Домашнее задание: Написание функции проверки валидности данных, полученных из заданной формы.
Тема 2
- Применение различных операторов ветвления для оптимизации решения поставленных задач.
- Разница между различными видами циклов.
Практическая работа: стек задач по операторам ветвления и циклам.
Домашнее задание: Реализация сервиса для решения квадратных уравнений через дискриминант и по теореме Виета.
Тема 3
- Различие между численно-индексированными и ассоциативными массивами.
- Поиск наименьших и наибольших значений в массиве.
- Сортировка массивов.
- Работа с многомерными массивами.
Практическая работа: стек задач по массивам.
Домашнее задание: Разработка сервиса по решению задачи коммивояжера.
Тема 4
- Создание файлов.
- Открытие, редактирование, чтение файлов.
- Управление правами доступа.
- Работа с каталогами.
- Проверка строка через регулярные выражения.
Практическая работа: стек задач по строкам и файлам.
Домашнее задание: Разработать текстовый редактор on-line.
Тема 5
- Создание соединения с базой данных.
- Создание запросов.
- Выборка результатов и обработка ответов.
Практическая работа: стек задач по работе с БД.
Домашнее задание: Разработка системы управления пользователями.
Тема 6
- Создание изображений.
- Редактирование изображений.
- Создание капчи.
Практическая работа: стек задач по работе с графикой.
Домашнее задание: Разработка сервиса построения диаграмм по заданным пользователем параметрам.
Тема 7
- Применение клиентской библиотеки для работы с URL.
- Формирование запросов и получение ответов.
- Использование различных методов.
- Отправка файлов.
Практическая работа: стек задач по работе с cURL.
Домашнее задание: Подготовка к экзамену.