Курс рассчитан на десять 3-х часовых занятий. 8 занятий совпадают с описаниями модулей + 2 чисто практических занятия, где студенты смогут задать свои вопросы и с головой погрузиться в курсовой проект.
Каждый модуль состоит из двух частей - практической и теоретической. Практическая часть - это добавление функциональности к курсовому проекту.
- Стать фрилансером, разместив и легко зарабатывать, делая сайты и различные приложения
Модуль 1. Основные интернет технологии (world wide web)Базовые технологии--- Клиент-серверная архитектура приложения, понятия “клиент”, “сервер”, “протокол”, URI, IP-адрес, DNS-сервер.
--- Протоколы передачи данных (TCP/IP, UDP, HTTP, HTTPS, FTP) - краткий обзор преимуществ и недостатков
--- Принцип работы современных браузеров (запрос на URI, получение ответа, рендеринг содержимого)
--- Структура протокола HTTP (стартовая строка, заголовок, тело сообщения)
--- Основные методы HTTP (GET, POST, HEAD)
--- Понятие HTTP заголовка (назначение заголовка - управление поведением взаимодействия клиента и сервера, формат заголовка :)
--- Тело сообщения. Краткая история языка HTML
Серверные веб-технологии--- Краткий обзор языков, используемых для разработки серверов (PHP, ruby, Java)
--- Интерпретируемые и компилируемые языки - преимущества и недостатки
--- Основные составные части серверов
--- веб-сервер Apache, Nginx - сферы применения, преимущества, недостатки
--- Постоянные хранилища данных (mysql, postgresql, nosql (mongoDB, redis)) - краткий обзор, основные отличия.
--- Понятие “кеширующего слоя БД”. Memcached.
Введение в PHP.--- история
--- кто использует (vk, rutracker, игры)
Подготовка инструментария.
--- Denwer - быстрый старт
--- IDE - phpStorm.
--- Преимущества IDE (автокомплит, рефакторинг, интеллектуальный поиск)
Практическая часть: установка и настройка необходимого инструментария для начала работы.
Модуль 2. Основы синтаксиса
Формы включения PHP кода внутрь страницы и почему лучше разделять PHP и HTML.Передача данных из HTML формы в phpРазделение выражений. Комментарии.Правила именования переменных. Константы.Типы данных. Опасность неявных преобразований (0==NULL, “0”!=NULL)Операторы и операнды.Условные конструкции--- if
--- else
--- elseif/else if
--- Альтернативный синтаксис (не рекомендуется!)
--- switch
Циклические конструкции--- while
--- do-while
--- for
--- foreach
Пропускающие и прерывающие конструкции--- break
--- continue
Подключающие конструкции--- require
--- include
--- require_once
--- include_once
--- отличия require и include
--- проблемы быстродействия при использования require_once и include_once
--- autoload
Конструкция возврата значения--- return
Исключения (try catch throw)Прочие конструкции--- declare
--- goto
Практическая часть: создание формы обратной связи с фильтрацией входных параметров
Модуль 3. Массивы и функции
Массивы. Различные типы массивов в PHP (ассоциативный и простой)Функции.Функции для работы с массивами.Создание библиотек.Практическая часть: научить форму обратной связи отсылать e-mail. Создание каркаса каталога (из списка статических файлов)
Модуль 4. Основные функции ядра языка PHP
Математические функции.Функции для работы со временем.Функции для работы со строками.Практическая часть: Научить показывать “магазин закрыт”, если серверное время не попадает во время работы магазина или сегодняшний день - выходной.
Модуль 5. ООП
ООП - доминантная парадигма. Почему?Понятие объекта, метода и поля классаПринципы ООП - наследование, инкапсуляция, полиморфизмАбстракция как основной элемент программыОбъектно-ориентированное программирование в PHP.Магические методыПаттерны программированияMVCПространства именТ
рейтыПрактическая часть: Разработка архитектуры сайта исходя из паттерна MVC и перенос уже готовой функциональности.
Модуль 6. Введение в работу с базами данных в PHP.
Реляционная модель СУБДНормальные формы БД. Приведение БД в 3 нормальную форму.Обзор возможностей PHP по поддержке работы с разными СУБД.Административные возможности СУБД MySQL.Взаимодействие PHP и MySQL.Расширение PHP Data Objects.Практическая часть: Создание структуры базы каталога, вывод данных из базы на странице каталога.
Модуль 7. Шаблоны
ШаблонизаторыSmarty. Установка и настройкаSmarty. Краткий обзор синтаксисаВысокопроизводительные шаблонизаторы. BlitzПрактическая часть: перевод представлений на smarty
Модуль 8. Файловая система
Принципы взаимодействия с файлами и директориями средствами PHP.Загрузка файла через форму.Практическая часть: форма загрузки данных о товаре
и многое другое!