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

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

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

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

  #   Текст вопроса 
  1  Назначение и область применения языка PHP. Режимы работы PHP-приложений. Консольные приложения, аргументы командной строки. Запуск приложения с правами пользователя wwwrun, основные проблемы доступа к каталогам и файлам. Расширенные списки доступа ACL. Пояснить на примерах.
  2  Основы синтаксиса языка PHP. Структура простейшей программы. Переменные. Константы. Предопределенные константы. Ссылки в php, примеры. Элементы структурного программирования (ветвление, организация циклов, передача управления).
  3  Использование массивов в PHP. Способы создания/удаления массива. Индексные массивы (списки), правило вычисление индекса, переиндексация, обращение к элементу массива. Ассоциативные массивы, обращение к элементу массива. Обращение к элементу массива внутри строки. Цикл foreach.
  4  Функции в PHP. Синтаксис описания функций. Порядок определения и вызова. Способы передачи аргументов, значения по умолчанию. Список агрументов переменной длины. Переменные внутри функции: локальные, глобальные, статические. Стек вызовов функций, функции вывода стека. Пояснить на примерах. Средства PHP для отправки/принятия HTTP-сообщений. Использование HTTP-контекста.
  5  Схема работы Web-приложения, архитектура клиент-сервер. Протокол HTTP. Типы HTTP-соединений. Общая структура HTTP-сообщений (запрос, ответ). Выбор метода: GET или POST? Кодирование в URL.
  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  Многофайловые сценарии PHP. Включение файлов, принцип работы include, include_once, require, require_once. Загрузка файлов на сервер (upload). Запуск приложений из PHP. Выделение статичной информации, способы. Область использования .htaccess.
  10  Создание класса, синтаксис описания. Создание объекта, представление объекта по ссылке. Клонирование, метод __clone. Область видимости private, protected, public. Конструктор класса, передача параметров в конструктор, вызов родительского конструктора. Деструктор класса, вызов родительского деструктора. Константы класса, определение, обращение внутри класса, обращение вне класса. Пояснить на примерах.
  11  Статические свойства и методы класса. Наследование, модель одиночного наследования. Синтаксис описания класса-потомка. Перегрузка метода класса, предпочтение локального (self) конструктора. Управление наследованием с помощью final. Абстрактный метод, абстрактный класс. Интерфейсы, назначение, синтаксис описания, реализация. Пояснить на примерах.
  12  Архитектура MVC, описание, назначение основных компонентов. Преимущества MVC. Что такое Smarty? Принцип работы Smarty. Назачение переменных и массивов в php (assign), обращение к ним в шаблоне. Пример использования встроенной функции {foreach}. Переменная {$smarty}. Работа с конфигурационными файлами Smarty, загрузка скрытых секций. Пояснить на примерах.
  13  Основные принципы организации реляционных БД. Связь PHP и MySQL в контексте LAMP. Создание БД, права суперпользователя. Создание, удаление, изменение таблиц, получение информации. Работа с СУБД MySQL из PHP. Mysqli, процедурный и ООП-синтаксис, SQL-запросы, использование функций в запросах. Кодировки клиента, соединения, результата и базы. Примеры.
  14  Модель обработки ошибок в PHP 5. Типы ошибок. Алгоритм обработки ошибок. Стандартные обработчик ошибок. Подавление ошибок. Обработка исключений в PHP 5. Особенности создания собственного обработчика. Способы отладки сценариев. Оптимизация php-программ.
  15  Отладка сценариев PHP. Средства языка, используемые для отладки. Трассировка. Журналирование. Использование утверждений (assert).
  16  Настройки безопасности Apache, права и расширение возможностей Web-сервера, сокрытие PHP. Безопасность файлововой системы, контроль доступа к ресурсам, проверка входных данных. Безопасность и аутентификация. Опасность подключаемых файлов. Проверка данных, вставляемых в html-код.