+7 (812) 703-02-02 info@hse.spbstu.ru

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.
Домашнее задание: Подготовка к экзамену.