Цель курса — обучить слушателя основам разработки веб-приложений с использованием языка программирования PHP и популярных фремворков. Дать необходимые знания для современной веб-разработки. Продолжительность курса — 184 пары.
По окончании курса студент сдает экзамен, который состоит из теоретической и практической части. Теоретическая часть содержит в себе вопросы по всему курсу. Практическая часть представляет собой веб-приложение, разрабатываемое студентом или группой студентов в течение курса и охватывающее не менее 80% изученных технологий.
Программа обучения:
Введение (Модуль 1 — 2 пары)
- Знакомство со студентами
- Обзор изучаемых технологий
- Подготовка к работе
HTML (Модуль 2 — 6 пар)
- Введение в HTML и понятие тега
- Обзор основных тегов
- Новые теги в Html5
Основы программирования (Модуль 3 — 24 пары)
- Переменные, константы,типы и взаимодействие между ними
- Ветвления, логические операторы, области видимости
- Циклы и массивы
- Основные функции PHP
Объектно-ориентированное программирование (Модуль 4 — 16 пар)
- Общие сведения и понятия
- Класс и объект, уровни доступа
- Наследование
- Пространства имён
- Автоматическая загрузка классов (autoload) и пр.
Исключения (Модуль 5 — 2 пары)
- Исключительная ситуация, стек вызовов
- Блоки try, catch, finally
PHP и Web — создание динамических страниц (Модуль 6 — 16 пар)
- Установка, настройка и администрирование серверного ПО
- Среда разработки (IDE), обзор, Netbeans
- Генерация HTML кода на сервере
- Работа с формами, cookies и сессии
- Загрузка файлов на сервер
- ЧПУ, mod_rewrite
Системы контроля версий (Модуль 7 — 8 пар)
- Общие принципы на примере SVN
- Понятие версионности и работа с системами контроля версий
- Работа с Git
- Возможности сервиса GitHub и работа с ним
Реляционные базы данных, MySQL (Модуль 8 — 20 пар)
- Введение в теорию баз данных
- Модели баз данных
- Таблицы, первичный ключ, значение по умолчанию, уникальность, типы данных, индексы, запросы.
- Язык SQL. Стандарты языка SQL
- Понятия DDL, DML, DCL
- Изучение языка MySql.
CSS (Модуль 9 — 6 пар)
- Установка расширений
- Принцип работы CSS
- Селекторы и псевдоселекторы
- Изучение возможностей CSS и CSS3
JavaScript и jQuery (Модуль 10 — 18 пар)
- Переменные, условия, операторы в Javascript
- Циклы, функции и объекты
- Работа с DOM
- События onClick, onLoad, onBlur, onFocus
- Регулярные выражения в Javascript
- ООП в Javascript
- Изучение библиотеки jQuery
- Ajax
Типичные задачи PHP разработчика (Модуль 11 — 24 пары)
- Области применения PHP в режиме CLI, crontab
- Обработка текста и регулярные выражения
- Работа с сетью (Sockets, TCP, UDP, порты) и серверами
- Работа с изображениями и почтой
- Кеширование, memcached
- Базы данных NoSQL
- Безопасность разрабатываемых приложений
Современные практики командной разработки ПО (Модуль 12 — 8 пар)
- Командная работа над проектом, роли участников
- Документирование кода, PHPDoc
- Разработка через тестирование, PHPUnit
- Методологии разработки, Agile, SCRUM, XP
- Защита интеллектуальной собственности: Zend Guard и Ioncube
Новые возможности языка PHP (Модуль 13 — 2 пары)
- Лямбда функции и замыкания
- Reflection
- Аннотации в PHP
Паттерны проектирования (Модуль 14 — 8 пар)
- Понятие паттерна
- Обзор паттернов
Zend Framework (Модуль 15 — 20 пар)
- Обзор MVC, Zend Framework
- Model. Бизнес логика, домен, работа с базами данных
- Контроллеры и маршрутизация
- Разработка шаблонов
- Формы в Zend Framework
- Интернационализация (I18n)
- Сравнение с другими фреймворками — Symphony, Yii
Doctrine (Модуль 16 — 10 пар)
- Обзор ORM, Doctrine
- Сущности, мэппинг
- Ассоциации, мэппинг ассоциаций
- Запросы
- Кеширование
По окончании курса слушатель будет:
- Понимать принципы и особенности платформы PHP
- Использовать различные базы и хранилища для хранения информации
- Разрабатывать веб-проекты различной степени сложности
- Знать принципы командной работы над проектами в современных компаниях
- Понимать архитектуру MVC и уметь работать с популярными фреймворками
- Знать новые технологии, которые входят в HTML5 и CSS3