Курс PHP (поглиблений)
Опис курсу
У процесі поглибленого вивчення мови PHP ти познайомишся з методами і властивостями об'єктно-орієнтованого програмування і шаблонами проектування. Також дізнаєшся про протоколи HTTP, MIME-типи контенту й управління кешем.
Ми навчимо тебе передавати і зберігати важливу інформацію, шифрувати та хешувати. Крім того, ти навчишся розпізнавати атаки і боротися з ними, дізнаєшся про ін'єкції SQL і коду. Ми познайомимо тебе із фреймворками і MVC, розповімо про архітектуру, структуру проекту, конфігурації, встановлення та налаштування.
Ти навчишся віддаленому адмініструванню та налаштуванню хостингу. По завершенні розширеного курсу ти станеш повноцінним Junior PHP Developer, готовим працювати з серйозними проектами.
Після курсу Ви зможете:
- Володіти PHP досконало
- Виконувати складні проекти, в т. ч. з використанням фреймворків
- Претендувати на посаду Junior Developer в ІТ-компаніях
- Брати проекти як freelancer
- Організувати власний проект (start-up)
Програма курсу:
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
14. CI сервіси: Travis CI, Scrutinizer CI
15. Використання Docker. Контейнеризація додатків
- Введення в docker
- Що таке контейнер?
- Відмінність docker від vagrant
- Введення в docker-compose
- Створення LEMP стека на базі docker
16. СУБД MySQL
- Об'єднання таблиць
- Індекси
- Оптимізація запитів і команда EXPLAIN
- Транзакції
- Тригери і збережені процедури
- Двигуни InnoDB & MyISAM
17. Сервісна архітектура
- Поняття сервісів
- Контейнери
- Dependency Injection
18. Огляд популярних фреймворків
- Zend Framework
- Yii
- Framework Phalcon
- Laravel Framework
- Framework Symfony
19. MVC і Symfony 4 фреймворк
- Встановлення та налаштування
- Створення простої сторінки
- Роутинг
- Twig
- Doctrine ORM
20. Компоненти 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.
Завантажити можна за посиланням
Лектори:
Юрій Орлик (Senior PHP Developer)
* Примітка: зазначені знижки не сумуються з іншими діючими акціями та спеціальними пропозиціями. Знижка застосовується тільки до нових заявок та при умові повної оплати курсу. Якщо у Вас виникли питання, звертайтеся за консультацією до наших менеджерів!