[LevelUP] PHP. Базовый курс
PHP. Базовый курс. От центра LevelUP
Цели курса:
- Получение учащимися навыков и знаний, необходимых для создания сайта средней сложности (например, интернет-магазина с простой одностраничной формой заказа).
- Создание прототипа рабочего проекта в процессе курса
Курс рассчитан на десять 3-х часовых занятий. 8 занятий совпадают с описаниями модулей + 2 чисто практических занятия, где студенты смогут задать свои вопросы и с головой погрузиться в курсовой проект.
Каждый модуль состоит из двух частей - практической и теоретической. Практическая часть - это добавление функциональности к курсовому проекту.
После окончания курса Вы сможете:
- Начать карьеру PHP-программиста
- Стать фрилансером, разместив и легко зарабатывать, делая сайты и различные приложения
- Написать на PHP собственный интернет-магазин
- Начать собственный стартап
- Базовые технологии
- Клиент-серверная архитектура приложения, понятия “клиент”, “сервер”, “протокол”, 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 (ассоциативный и простой)
- Функции.
- Функции для работы с массивами.
- Создание библиотек.
Модуль 4. Основные функции ядра языка PHP
- Математические функции.
- Функции для работы со временем.
- Функции для работы со строками.
Модуль 5. ООП
- ООП - доминантная парадигма. Почему?
- Понятие объекта, метода и поля класса
- Принципы ООП - наследование, инкапсуляция, полиморфизм
- Абстракция как основной элемент программы
- Объектно-ориентированное программирование в PHP.
- Магические методы
- Паттерны программирования
- MVC
- Пространства имен
- Трейты
Модуль 6. Введение в работу с базами данных в PHP.
- Реляционная модель СУБД
- Нормальные формы БД. Приведение БД в 3 нормальную форму.
- Обзор возможностей PHP по поддержке работы с разными СУБД.
- Административные возможности СУБД MySQL.
- Взаимодействие PHP и MySQL.
- Расширение PHP Data Objects.
Модуль 7. Шаблоны
- Шаблонизаторы
- Smarty. Установка и настройка
- Smarty. Краткий обзор синтаксиса
- Высокопроизводительные шаблонизаторы. Blitz
Модуль 8. Файловая система
- Принципы взаимодействия с файлами и директориями средствами PHP.
- Загрузка файла через форму.