Про курс
Курс «PHP Поглиблений» – це третій рівень у програмі підготовки спеціаліста з розробки додатків мовою PHP.
На даному курсі розглядаються основи використання розширень PHP, вирішення проблем безпеки в додатках PHP, особливості застосування стандартів написання коду PSR2 і PSR4, тема впровадження залежності в PHP. Ви познайомитеся з принципами роботи з базами даних – Active Record та Data Mapper, основами побудови архітектури додатків – застосування базових патернів проектування, з принципами SOLID та їх реалізацією у коді.
Для розуміння матеріалу даного курсу необхідні знання мови PHP на рівні курсів PHP 8.0 Стартовий і PHP 7.4 Базовий, базові знання SQL на рівні курсу PostgreSQL.
Чого ви навчитеся на даному курсі:
- Розуміти принципи, по яким працюють розширення чи модулі.
- Розуміти можливості використання мови зберігання інформації - YAML.
- Застосовувати бібліотеку CURL.
- Забезпечувати на базовому рівні безпеку створюваного веб-додатку.
- Використовувати основи MD5 шифрування у своїй програмі.
- Розуміти основні напрямки злому web-додатків – проблеми безпеки виконання запитів до бази даних, XSS та ін.
- Застосовувати криптографічні модулі Random_bytes, HASH.
- Забезпечувати у своєму додатку дотримання базових правил написання валідного коду, PSR2 та PSR4 стандарти.
- Розуміти та застосовувати базові принципи впровадження залежностей.
- Розуміти основи застосування базових архітектурних засад, зокрема патернів проектування, принципів SOLID.
Цей курс входить до спеціальності:
Попередні Вимоги
- Знання мови PHP.
- MySQL.
- Bash.
Ви навчитеся
- Розуміти PHP Розширення або Модулі та практики їх застосування.
- Проектувати класи, реалізовувати наслідування та працювати з об'єктами.
- Розуміти ORM, Active Record.
- Працювати з Базою даних. Використовувати Query Builder.
- 3 год 46 хв
- 23.01.2022
- 9 з 9
- 28.09.2022
- російська
Що входить до курсу
×
Ви дійсно бажаєте відкрити доступ до тестування за курсом PHP Поглиблений на 40 днів?
У цьому уроці розглядаються принципи функціонування окремих модулів мови PHP. А саме: розбираються принципи, якими працюють розширення, розглядається як їх правильно встановлювати, команда php -i. Наведено приклад роботи з YAML. Також ми розберемо MD5 шифрування. Ви познайомитеся з бібліотекою CURL, її параметрами та конфігурацією.
У цьому уроці розглядаються конкретні способи злому веб-додатків. Розглянемо запити до БД, підготовлені запити, XSS зломи. На прикладах ми побачимо, як, не екрануючи запит POST, ми отримуємо вразливість. Розглянемо функцію htmlspecialchars(). Ви дізнаєтесь про криптографічні модулі Random_bytes, HASH. Підіб'ємо підсумки того, як програміст може захистити сайт і сервер від несанкціонованого доступу.
Цей урок буде повністю присвячений правилам написання валідного коду. Ви дізнаєтесь про PSR2, PSR4 стандарти. Будуть розглянуті основні вимоги до іменування змінних, функцій, класів, інтерфейсів та неймспейсів. Ми створимо class Fruits, class Pears та class Apples для практичного закріплення. Підіб'ємо підсумки теми правил хорошого коду. Подивимося, як PSR застосовується у фреймворках з прикладу Query Builder.
На уроці розглядається тема передачі залежності у PHP. Розглядається передача аргументу через __construct та setter() метод. Ми створимо class App, до якого передаватимемо об'єкт class Service. У 1 варіанті буде використаний конструктор, а в 2 вже застосуємо setService метод. Далі ми розглянемо застосування Interface, з прикладу підключення до БД через різні провайдери.
В уроці буде розглянуто роботу з Active Record. Ми попрактикуємося зі структурою класів та напишемо структуру AR. Буде розглянуто відмінність від шаблону Data Mapper та у чому його переваги. Розглядаються SELECT, INSERT, UPDATE для Query Builder.
Навчитися розуміти патерни в PHP, як їх використовувати і для чого вони потрібні, а також їх правильно застосовувати.
Навчитися розуміти принципи Solid. Розібрати на прикладах такі сутності, як об'єкти, інтерфейси, залежності.
Навчити студентів розуміти архітектуру програми в PHP. Для чого використовувати поділ на Development та Production. Що таке DI контейнер.
Зробити результат пройденого матеріалу. Ще раз закріпити основні тези щодо Паттерн та Вразливостей. Розглянемо архітектуру побудови програми.