(c) Larry Ewing, Simon Budig, Garrett LeSage
с 1994 г.

Кафедра Информатики и Математического Обеспечения

ПетрГУ | ИМиИТ | О кафедре | Мобильные платформы | Лаборатория ИТС | Семинары НФИ/AMICT
Сотрудники | Выпускники | Учебный процесс | Табель-календарь | Курсовые и выпускные работы
Вычислительные ресурсы | Публикации | Архив новостей | Контактная информация

Для получения зачета и допуска к экзамену необходимо сдать все лабораторные работы.

  #   Текст вопроса 
  1  Назначение и область применения языка PHP. Режимы работы PHP-приложений. Консольные приложения, аргументы командной строки. Запуск приложения с правами пользователя wwwrun, основные проблемы доступа к каталогам и файлам. Расширенные списки доступа ACL. Пояснить на примерах.
  2  Основы синтаксиса языка PHP. Структура простейшей программы. Переменные. Константы. Предопределенные константы. Ссылки в php, примеры. Элементы структурного программирования (ветвление, организация циклов, передача управления).
  3  Использование массивов в PHP. Способы создания/удаления массива. Индексные массивы (списки), правило вычисление индекса, переиндексация, обращение к элементу массива. Ассоциативные массивы, обращение к элементу массива. Обращение к элементу массива внутри строки. Цикл foreach.
  4  Функции в PHP. Синтаксис описания функций. Порядок определения и вызова. Способы передачи аргументов, значения по умолчанию. Список агрументов переменной длины. Переменные внутри функции: локальные, глобальные, статические. Стек вызовов функций, функции вывода стека. Пояснить на примерах.
  5  Схема работы Web-приложения, архитектура клиент-сервер. Протокол HTTP. Типы HTTP-соединений. Общая структура HTTP-сообщений (запрос, ответ). Выбор метода: GET или POST? Кодирование в URL. Средства PHP для отправки/принятия HTTP-сообщений. Использование HTTP-контекста.
  6  Обработка данных HTML-форм. Способы передачи параметров сценарию PHP. Обращение к параметру, переданному из формы. Обработка списка с множественным выбором (<select>), параметр-массив. Обработка специальных случаев: якоря (#), имена с точкой (name=picture.gif), магические кавычки. Обработка <input type="image"..., доступ к координатам.
  7  Cookie-наборы, назначение, время жизни. Схема обмена заголовками между клиентом и сервером (Cookie - в запросе, Set-Cookie - в ответе). Способы установки cookie в php-скрипте. Установка/изменение/удаления cookie-набора с помощью setcookie (пример). Доступ к значениям cookie-набора в php-скрипте.
  8  Сессии (сеансы) PHP, основная идея использования сессий, начало сеанса, завершение сеанса. Идентификатор сессии, способ передачи идентификатора от страницы к странице. Переменные сессии. HTTP-аутентификация, способы, защита одной страницы, защита нескольких страниц.
  9  Создание класса, синтаксис описания. Создание объекта, представление объекта по ссылке. Клонирование, метод __clone. Область видимости private, protected, public. Конструктор класса, передача параметров в конструктор, вызов родительского конструктора. Деструктор класса, вызов родительского деструктора. Константы класса, определение, обращение внутри класса, обращение вне класса. Пояснить на примерах.
  10  Статические свойства и методы класса. Наследование, модель одиночного наследования. Синтаксис описания класса-потомка. Перегрузка метода класса, предпочтение локального (self) конструктора. Управление наследованием с помощью final. Абстрактный метод, абстрактный класс. Интерфейсы, назначение, синтаксис описания, реализация. Пояснить на примерах.
  11  Многофайловые сценарии PHP. Включение файлов, принцип работы include, include_once, require, require_once. Автозагрузка классов и интерфейсов. Автозагрузчик, стек вызовов. Недостатки __autoload(). Автозагрузка с использованием функций библиотеки SPL. Загрузка файлов на сервер (upload). Запуск приложений из PHP. Выделение статичной информации, способы. Область использования .htaccess.
  12  Архитектура MVC, описание, назначение основных компонентов. Преимущества MVC. Что такое Yii, область применения? Реализация модели MVC в Yii-приложении. Структура Yii-приложения (версия 2.0), Web-доступ к файлам приложения, директория приложения, входной скрипт (entry script). Жизненный цикл запроса, выбор экшена (action) по ключу r.
  13  Основные принципы организации реляционных БД. Связь PHP и MySQL в контексте LAMP. Создание БД, права суперпользователя. Создание, удаление, изменение таблиц, получение информации. Работа с СУБД MySQL из PHP. Mysqli, процедурный и ООП-синтаксис, SQL-запросы, использование функций в запросах. Кодировки клиента, соединения, результата и базы. Примеры.
  14  Модель обработки ошибок в PHP 5. Типы ошибок. Конфигурационные директивы display_errors, error_reporting, log_errors, error_log. Функции времени выполнения. Алгоритм обработки ошибок. Стандартные обработчик ошибок. Подавление ошибок. Обработка исключений в PHP 5. Особенности создания собственного обработчика. Основные рекомендации по обработке ошибок.
  15  Отладка сценариев PHP. Средства языка, используемые для отладки. Трассировка. Функции debug_backtrace, debug_print_backtrace. Журналирование. Использование утверждений (assert).
  16  Настройки безопасности Apache, права и расширение возможностей Web-сервера, сокрытие PHP. Безопасность файлововой системы, контроль доступа к ресурсам, проверка входных данных. Безопасность и аутентификация. Опасность подключаемых файлов. Проверка данных, вставляемых в html-код.