Для получения зачета и допуска к экзамену необходимо сдать все лабораторные работы.
# | Текст вопроса |
---|---|
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-код. |