Курс PHP (продвинутый)
Описание курса
В процессе обучения ты познакомишься с методами и свойствами объектно-ориентированного программирования и шаблонами проектирования. Также узнаешь о протоколах HTTP, MIME-типах контента и управлении кэшем.
Мы научим тебя передавать и хранить важную информацию, шифровать и хэшировать. Ты научишься распознавать атаки и бороться с ними, узнаешь об инъекциях SQL и кода. Мы познакомим тебя с фреймворками и MVC, расскажем об архитектуре, структуре проекта, конфигурации, установке и настройке.
Ты обучишься удалённому администрированию и настройке хостинга. По завершении продвинутого курса ты станешь полноценным Junior PHP Developer.
После курса вы сможете:
- Владеть PHP в совершенстве
- Выполнять сложные проекты, в т.ч. с использованием фреймворков
- Претендовать на должность Junior Developer в ІТ-компаниях
- Брать проекты на фрилансе
- Организовать собственный стартап
Программа курса:
1. Основы Linux
- Установка Ubuntu
- Серверная и десктопная версия
- Базовые команды Linux
- Установка веб-сервера Nginx
- Установка PHP
- Установка MySQL
- Деплой Symfony-приложения на DigitalOcean
2. Основы Git
- Установка и настройка
- Команды Git
- Обзор GitHub, GitLab и Bitbucket
- Создание проекта и заливка на GitHub
3. Composer
- Установка и настройка
- Автозагрузчик классов
- Обзор официального репозитория Packagist
- Создание собственных пакетов
4. PHP 7.x
- Новые возможности PHP 7.0
- Новые возможности PHP 7.1
- Новые возможности PHP 7.2
- Новые возможности PHP 7.3
- Новые возможности PHP 7.4
5. ООП
- Инкапсуляция
- Наследование
- Полиморфизм
- Классы и Объекты
- Абстрактные классы
- Интерфейсы
- Методы класса
- Статические методы
- Магические методы
- Константы
- Трейты
- Исключения
- Неймспейсы
- Автозагрузка
- Композиция вместо наследования
6. Стандарты PSR
- Обзор стандартов PSR-0, PSR-4 и PSR-1, PSR-2
7. Шаблоны проектирования, SOLID, DRY, KISS, YAGNI
- Основные порождающие шаблоны
- Основные структурные шаблоны
- Основные поведенческие шаблоны
8. Reflection API
- PHPDoc
- phpDocummentor
- Аннотации
9. Standard PHP Library (SPL)
- Структуры данных
- Итераторы
- Основные классы и функции
10. Безопасность в PHP
- Основные типы атак
- Шифрование
- Хеширование
- Стандартные практики по защите веб-приложений
- Symfony Security компонент
11. Отладка, предупреждение ошибок, профилирование, оптимизация
- Какие бывают типы ошибок в PHP, иерархия классов исключений
- Конструкция try-catch-finally
- Создание собственных классов исключений
- Логирование ошибок и его важность
- Профилирование кода
- Отладка xDebug, анализ чужого кода
12. REST
- Обзор архитектуры REST
- Модель зрелости REST-сервисов
- HATEOAS
- Стандарт HAL
- Спецификация JsonAPI
- Клиент Guzzle
- FOSRestBundle для Symfony
13. Тестирование
- Юнит тесты
- Функциональные тесты
- Фреймворки для тестирования Codeception, PHPUnit, Symfony PHPUnit Bridge
- CI-сервисы: Travis CI, Scrutinizer CI
14. Использование Docker. Контейнеризация приложения
- Введение в docker
- Что такое контейнер?
- Отличие docker от vagrant
- Введение в docker-compose
- Создание LEMP стека на базе docker
15. СУБД MySQL
- Объединение таблиц
- Индексы
- Оптимизация запросов и команда EXPLAIN
- Транзакции
- Триггеры и хранимые процедуры
- Движки InnoDB & MyISAM
16. Сервисная архитектура
- Понятие сервисов
- Контейнеры
- Dependency Injection
17. Обзор популярных фреймворков
- Zend Framework
- Yii Framework
- Phalcon Framework
- Laravel Framework
- Symfony Framework
18. MVC и Symfony 4 фреймворк
- Установка и настройка
- Создание простой страницы
- Роутинг
- Twig
- Doctrine ORM
19. Компоненты Symfony
- Yaml
- Filesystem
- Finder
- Console
- Process
- PHPUnit Bridge
- Validator
- Form
Минимальные требования:
- Базовый уровень работы с PHP, HTML, CSS, JS
- Основы языка SQL и знание, что такое релляционная база данных
- Наличие собственного ноутбука для занятий в аудиториях
- Базовое знание Unix-систем будет плюсом
Для освоения курса вам понадобится:
1. ОС Linux (желательно ветка Debian). Пример установки дистрибутива Linux — Ubuntu, можно посмотреть здесь
2. Nginx. Это веб-сервер и почтовый прокси-сервер, работающий на Linux и подобных ОС. Пример установки nginx на Ubuntu
3. Apache. Как альтернативный веб-сервер, можете скачать и другой популярный сервер — Apache. Скачать можно по ссылке
4. PHP. Интерпретатор скриптового языка программирования, который мы будем использовать для разработки. Пример установки PHP на Ubuntu
5. Mysql сервер. Представляет собой базу данных для хранения и управления данными в виде таблиц. Пример установки на Ubuntu
6. PHPStorm. Интегрированная среда разработки, которая «понимает» код и обеспечивает первоклассную поддержку продуктам PHP. Скачать можно по ссылке. Как альтернативу можно использовать любую другую среду.
Лекторы:
* Примечание: указанные скидки не суммируются с другими действующими акциями и специальными предложениями. Скидка применяется только к новым заявкам и при условии полной оплаты. Если у Вас возникли вопросы, обращайтесь за консультацией к нашим менеджерам!