Продвинутый курс PHP

Старт обучения
Берестейская 22.01.2020
Позняки Дату уточните у администрации
ВДНХ Дату уточните у администрации
51 час. по 2-3 раза в неделю

Описание курса

В процессе обучения Вы познакомитесь с методами и свойствами объектно-ориентированного программирования и шаблонами проектирования. Также узнаете о протоколах HTTP, MIME-типах контента и управлении кэшем. Мы научим Вас передавать и хранить важную информацию, шифровать и хэшировать. Вы научитесь распознавать атаки и бороться с ними, узнаете об инъекциях SQL и кода. Мы познакомим Вас с фреймворками и MVC, расскажем об архитектуре, структуре проекта, конфигурации, установке и настройке. Вы обучитесь удаленному администрированию и настройке хостинга. По завершении продвинутого курса Вы станете полноценным специалистом в области PHP.

После курса вы сможете:

  • Владеть PHP в совершенстве
  • Выполнять сложные проекты, в т.ч. с использованием фреймворков
  • Претендовать на должность Junior Developer в ІТ-компаниях
  • Брать проекты на фрилансе
  • Организовать собственный стартап
Смотреть работы выпускников

Программа курса:

  • Основы Linux
    • Установка Ubuntu
    • Серверная и десктопная версия
    • Базовые команды Linux
    • Установка веб-сервера Nginx
    • Установка PHP
    • Установка MySQL
    • Деплой Symfony-приложения на DigitalOcean
  • Git-основы
    • Установка и настройка
    • Команды Git
    • Обзор GitHub, GitLab и Bitbucket
    • Создание проекта и заливка на GitHub
  • Composer
    • Установка и настройка
    • Автозагрузчик классов
    • Обзор официального репозитория Packagist
    • Создание собственных пакетов
  • PHP 7.x
    • Новые возможности PHP 7.0
    • Новые возможности PHP 7.1
    • Новые возможности PHP 7.2
    • Новые возможности PHP 7.3
    • Новые возможности PHP 7.4
  • ООП
    • Инкапсуляция
    • Наследование
    • Полиморфизм
    • Классы и Объекты
    • Абстрактные классы
    • Интерфейсы
    • Методы класса
    • Статические методы
    • Магические методы
    • Константы
    • Трейты
    • Исключения
    • Неймспейсы
    • Автозагрузка
    • Композиция вместо наследования
  • Стандарты PSR
    • Обзор стандартов PSR-0, PSR-4 и PSR-1, PSR-2
  • Шаблоны проектирования, SOLID, DRY, KISS, YAGNI
    • Основные порождающие шаблоны
    • Основные структурные шаблоны
    • Основные поведенческие шаблоны
  • Reflection API
    • PHPDoc
    • phpDocummentor
    • Аннотации
  • Standard PHP Library (SPL)
    • Структуры данных
    • Итераторы
    • Основные классы и функции
  • Безопасность в PHP
    • Основные типы атак
    • Шифрование
    • Хеширование
    • Стандартные практики по защите веб-приложений
    • Symfony Security компонент
  • Отладка, предупреждение ошибок, профилирование, оптимизация
    • Какие бывают типы ошибок в PHP, иерархия классов исключений
    • Конструкция try-catch-finally
    • Создание собственных классов исключений
    • Логирование ошибок и его важность
    • Профилирование кода
    • Отладка xDebug, анализ чужого кода
  • REST
    • Обзор архитектуры REST
    • Модель зрелости REST-сервисов
    • HATEOAS
    • Стандарт HAL
    • Спецификация JsonAPI
    • Клиент Guzzle
    • FOSRestBundle для Symfony
  • Тестирование
    • Юнит тесты
    • Функциональные тесты
    • Фреймворки для тестирования Codeception, PHPUnit, Symfony PHPUnit Bridge
    • CI-сервисы: Travis CI, Scrutinizer CI
  • Использование Docker. Контейнеризация приложения
    • Введение в docker
    • Что такое контейнер?
    • Отличие docker от vagrant
    • Введение в docker-compose
    • Создание LEMP стека на базе docker
  • СУБД MySQL
    • Объединение таблиц
    • Индексы
    • Оптимизация запросов и команда EXPLAIN
    • Транзакции
    • Триггеры и хранимые процедуры
    • Движки InnoDB & MyISAM
  • Сервисная архитектура
    • Понятие сервисов
    • Контейнеры
    • Dependency Injection
  • Обзор популярных фреймворков
    • Zend Framework
    • Yii Framework
    • Phalcon Framework
    • Laravel Framework
    • Symfony Framework
  • MVC и Symfony4 фреймворк
    • Установка и настройка
    • Создание простой страницы
    • Роутинг
    • Twig
    • Doctrine ORM
  • Компоненты Symfony
    • Yaml
    • Filesystem
    • Finder
    • Console
    • Process
    • PHPUnit Bridge
    • Validator
    • Form

Минимальные требования:

  • Базовый уровень работы с PHP, HTML, CSS, JS
  • Основы языка SQL и знание, что такое релляционная база данных
  • Наличие собственного ноутбука для занятий в аудиториях
  • Базовое знание Unix-систем будет плюсом

* Примечание: указанные скидки не суммируются с другими действующими акциями и специальными предложениями. Скидка применяется только к новым заявкам и при условии полной оплаты. Если у Вас возникли вопросы, обращайтесь за консультацией к нашим менеджерам!

spinner-it