Модуль 1. Основы языка PHP /12 часов/
Уровень предназначен для желающих овладеть основами создания динамических страниц. Вы познакомитесь с базовыми терминами программирования, научитесь обрабатывать данные, введенные пользователем в форму, а также выполнять отправку данных из формы на электронный адрес.
Тема 1. Введение в PHP. Установка локального сервера /1 час/
Тема 2. Пишем первую программу на PHP /1 час/
Тема 3. Веб-форма — средство обратной связи с посетителями сайта /2 часа/
Тема 4. Синтаксис PHP. Переменные и массивы. /2 часа/
Тема 5. Получение информации из веб-формы /2 часа/
Тема 6. Работа с текстом /2 часа/
Тема 7. Условные конструкции /2 часа/
Модуль 2. Создание баз данных для web. Взаимодействие PHP с MySQL /16 часов/
На уровне рассматривается взаимодействие языка PHP с базами данных MySQL. Вы научитесь проектировать базы данных и управлять данными в них посредством PHP-сценариев: передавать данные, введенные пользователем на сайте, в базу данных; извлекать информацию из базы данных и выводить ее в браузер; загружать на сервер изображения; изучите дружественные для пользователя подходы обработки ошибок.
Тема1. MySQL и SQL: база данных и язык /2 часа/
Тема 2. Подключение PHP к MySQL /2 часа/
Подключение сценария PHP к базе данных MySQL. Выбор используемой базы данных. Обработка ошибок. Способы упрощения и упорядочивания программного кода. Замена введенных вручную значений переменными. Использование констант. Организация кода при помощи внешних файлов.
Тема 3. Работа с базой данных /6 часов/
Проектирование таблиц базы данных. Автоприращение. Создание первичного ключа в таблице. Добавление ограничений к базе данных. Изменение таблиц в базе данных. Создание PHP-сценария для получения информации из веб-формы. Создание SQL-запроса для внесения полученной информации в базу данных. Извлечение информации из базы данных. Выбор записи из базы данных. Вывод информации в браузер.
Тема 4. Обработка ошибок в сценарии /2 часа/
Создание html-страницы ошибки. Сообщение пользователям о возникновении ошибки. Создание страницы ошибки с кодом PHP. Добавление отладки к приложению для получения отчетов об ошибках.
Тема 5. Обработка изображений /4 часа/
Отправка изображений пользователя на сервер. Проверка ошибок при отправке файла. Решение проблем безопасности: проверка отправляемого файла. Сохранение изображений пользователя на сервере. Добавление информации о местоположении изображений в базу данных. Выбор изображения из базы данных и вывод его на страницу в браузере.
Модуль 3. Совершенствование программного кода. Создание персонализированных приложений /20 часов/
Уровень предназначен для желающих овладеть профессиональными приемами разработки динамических веб-приложений. Вы изучите способы ограничения доступа к пользовательским данным на сайте, познакомитесь с основами безопасности в базах данных.
Тема 1. Проблемы защиты данных и их возможные решения /2 часа/
Защита страницы паролем. Понятие HTTP-заголовка, его предназначение. Работа с HTTP-заголовками в PHP. Аутентификация с использованием HTTP-заголовков. Оптимизация сценария защиты. Разработка сценария для модерирования данных. Условное выражение WHERE как средство для отбора данных, прошедших проверку модератором. Манипуляция сервером баз данных с помощью комментариев. Символы, меняющие содержание SQL-запроса. Дополнительная обработка данных формы для предотвращения изменений SQL-запроса. Модификация запроса INSERT для повышения уровня безопасности. Проверка данных формы на достоверность. Проверка пустых полей. Проверка типа данных. Проверка размера файла.
Тема 2. Создание персонализированного веб-приложения. Использование cookies и сессий /6 часов/
Организация доступа к персональным данным для пользователей. Шифрование пароля с помощью функции SHA(). Проверка подлинности пароля при входе в веб-приложение. Аутентификация пользователей с помощью HTTP. Форма для создания учетных записей для новых пользователей. Использование cookies в PHP. Средства PHP для сохранения и получения данных cookies. Вход в приложение с использованием cookies. Преимущества и недостатки cookies. Понятие сессии в PHP. Открытие сессии. Использование данных сессии. Закрытие сессии. Совместное использование cookies и сессий в веб-приложении.
Тема 3. Оптимизация кода при помощи шаблонов /1 час/
Дублирование кода в разных частях сценария и связанные с этим проблемы. Использование шаблонов PHP для оптимизации кода. Поиск повторяющихся частей в приложении. Построение приложения на основе шаблонов.
Тема 4. Создание поисковой формы /8 часов/
Создание поисковой формы. Организация поиска в базе данных. Создание гибких поисковых запросов. Работа с текстом при создании поисковых запросов. Разбиение строки. Создание строки из подстрок. Извлечение подстрок с другого конца. Предварительная обработка поисковой строки. Применение функций для повторного использования кода. Встроенные и пользовательские функции в PHP. Сортировка результатов поиска. Вывод результатов поиска на нескольких страницах. Создание навигационных гиперссылок.
Тема 5. Основы применения регулярных выражений /3 часа/
Для чего нужны регулярные выражения. Поиск в строке с использованием регулярного выражения. Альтернативный поиск. Поиск с учетом позиции. Поиск набора символов. Усовершенствование кода с помощью регулярных выражений. Создание шаблона для номера телефона. Создание шаблонов с использованием метасимволов. Тонкая настройка шаблонов с помощью символьных классов. Создание шаблона для адреса электронной почты. Проверка адреса электронной почты.
Модуль 4. Объектно-ориентированное программирование. Создание интернет-магазина /20 часов/
Учебный материал уровня посвящен разработке полноценного интернет-магазина. В процессе выполнения проекта учащиеся знакомятся с принципами объектно-ориентированного программирования и паттерном MVC, совершенствуют навыки работы с базами данных MySQL.
Тема 1. Понятие ООП. Свойства и методы классов /2 часа/
Тема 2. Паттерны проектирования. Паттерн MVC /4 часа/
Тема 3. Создание главной страницы магазина /3 часа/
Тема 4. Создание страницы товара /1 час/
Тема 5. Создание каталога /2 часа/
Тема 6. Работа с пользователями на сайте /2 часа/
Тема 7. Организация корзины /2 часа/
Тема 8. Управление заказами /2 часа/
Тема 9. Создане панели администратора /2 часа/