Веб программирование 2 уровень: PHP и MySQL

Чему научим на этом курсе:
Итак, вы уже многое умеете, ваш профессионализм возрос после изучения языка программирования JavaScript. Теперь, чтобы писать сайты практически любой сложности, приступим к изучению таких языков программирования как PHP и MySQL. Получив эти знания, перед вами открывается профессиональный мир программирования, доступ к высокооплачиваемой работе, воплощению собственных целей и задач. 

1. Синтаксис РНР.

1.1 Знакомство с РНР, конструкция и возможности языка, знакомство с программой «Hello World»,  установка и настройка интерпретатора, работа с интерактивной консолью, разделение инструкций, основные тэги языка, комментарии, скалярные типы данных, переменные и операторы, а так же выражения, встроенные функции, выполнение файлов, работа с php – сценариями.

1.2 Условный оператор IF в языке. Оператор множественного выбора SWITCH, операторы прерывания CJNTINUE\BREAK. Обзор циклов WHILE, DO, FOR.  Переменные – область видимости, виды переменных – статистические и глобальные, алгоритмы. Возвращаемые значения, функции и аргументы.

1.3 Реализация алгоритмов с помощью списков, строк и массивов. Объекты, ресурсы, NULL.

1.4 Виды функций. Строковые и математические, дата и время, для работы с массивами, файловой системой, с изображениями, функции для работы с JSON.

2. РНР на веб. Сервере.

2.1 Работа с формами. Hello $_GET. Простая форма HTML.Отправка и обработка данных. Протокол НТГР. Запросы  GET и POST. Параметры форм в РНР, их получение и обработка. Загрузка файлов на сервер.

2.2 РНР и НГТР. Тщательное изучение протокола НГТР. Ошибка Hello 404. Функция header. Глобальная переменная $_SERVER. Работа с заголовком Content-Type. Редирект и ошибки 404, 500.

2.3 Файлы COOKIE – хранение данных, сессии, авторизация на сайте средствами НГТР, ошибка авторизации - Hello 401. $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW'].

3. Объектно – ориентированное программирование.

3.1 Установка и настройка Denwer.Основы Объектно – ориентированного программирования. Понятие объекта и класса. Свойства и методы объекта (приватные и публичные). Создание экземпляра. Статистические методы и автозагрузка классов. Проверка параметров методов. Отработка полученных навыков на информационном портале.

3.2 Наследование и интерфейсы. Основы наследования классов. Защищенные методы и свойства. Обращение к родительским методам и свойствам. Работа с интерфейсами. Абстрактные классы. Запрет переопределения методов и наследования классов.

3.3 РНР и НТТР. Пространства имен, перегрузка методов и параметров, сериализация, клонирование, итератор объекта, использование объекта как массива или как функции.

4. MySQL.

4.1 Реляционные базы данных SQL. Знакомство с сервером управления базами данных. Основные понятия – таблица, поле и типы полей, базы данных, ряд. Работа с mysql через клиент. Функции и их использование для работы с mysql в PHP.

4.2 Нормальные формы баз данных. Три основные формы.

4.3 Применение следующих запросов - SELECT, DELETE, INSERT, UPDATE. Работа в таблице – вывод отдельных полей либо всех записей, условия выбора и выражения в MySQL, сортировка, LIMIT. Первичный ключ и AUTO INCREMENT,  обновление и удаление списка записей по условию.

4.4 Проектирование БД.

4.5 Объединение данных из нескольких таблиц (функция SELECT). Изучение группировок результатов. Агрегатные функции  COUNT, MAX, MIN и другие. Внешний ключ. INNER JOIN. LEFT JOIN.

4.6 Управление таблицами и БД, а так же управление таблицами (создание, очистка, удаление таблиц, получение информации). Манипуляции с полями и базами данных – создание и удаление.

5. Обзор фреймворков.

5.1 Менеджер зависимостей Composer. Понятие фреймворкови его принципиальные отличия от библиотек. Работа с фреймворками – установка, удаление, их возможности. Представление и роутинг, варианты обработки форм. Работа с базой данных.

5.2 Шаблонизаторы (на примере Smarty, Twig и прочих). Использование РНР в качестве шаблонизатора.

Работа с шаблонизаторами – установка, удаление, возможности Smarty и Twig. Управление – листание, условия и вставка переменных. Организация приложения с использованием шаблонизатора.

5.3 Фреймворк Laravel Понятие фреймворков и его принципиальные отличия от библиотек. Работа с фреймворками – установка, удаление, их возможности. Представление и роутинг, варианты обработки форм. Работа с базой данных.