spinner-it

Курс PHP (поглиблений)

Старт навчання
Старт курсу запитуйте в адміністрації
51 год. по 2-3 рази на тиждень

Опис курсу

У процесі поглибленого вивчення мови 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)

 

* Примітка: зазначені знижки не сумуються з іншими діючими акціями та спеціальними пропозиціями. Знижка застосовується тільки до нових заявок та при умові повної оплати курсу. Якщо у Вас виникли питання, звертайтеся за консультацією до наших менеджерів!

У зв'язку з карантином всі наші курси читаються у online-форматі.