UA / EN
Освіта

Каталог вибіркових навчальних дисциплін


Інтернет-програмування: PHP (122, 126)

Кафедра, яка викладає навчальну дисципліну:
Кафедра комп'ютерних наук
Короткий опис навчальної дисципліни

Під час вивчення курсу Ви отримаєте глибинні знання зі швидкої розробки веб-сайтів та навчитесь створювати веб-застосунки засобами PHP-фреймворку Laravel. Курс орієнтований на студентів, що володіють знаннями мови PHP, ООП, мають уявлення про MVC.

Цілі та задачі навчальної дисципліни

Мета вивчення дисципліни – засвоєння студентами знань про структуру сучасного PHP-фреймворку, його функціональні можливості та їх повноцінне використання при розробці веб-сайтів, набути навичок розробки, тестування та розгортання веб-додатків засобами PHP-фреймворку Laravel.

Навчальний курс PHP-фреймворку Laravel зазвичай охоплює низку тем і завдань, спрямованих на надання студентам повного розуміння Laravel та його функцій. Завдання курсу:

  • Встановлення та налаштування фреймворку. Студенти навчаться інсталювати Laravel і налаштувати середовище розробки на своїх локальних машинах: встановлення PHP, налаштування веб-сервера та встановлення самого Laravel.
  • Розробка маршрутизації та контролерів. Студенти розумітимуть, як зіставляти URL-адреси з конкретними методами контролера та як передавати дані між маршрутами та контролерами.
  • Розробка шаблонів Blade. Ознайомлення з механізмом створення шаблонів Laravel для створення інтерфейсу користувача, використання директиви Blade, макетів та частин для створення багаторазових і модульних представлень.
  • Моделі даних та Eloquent ORM. Знайомство з розробкою моделей та роботою з Eloquent ORM. Студенти розумітимуть, як взаємодіяти з базою даних, виконувати операції CRUD і визначати зв’язки між моделями.
  • Використання Middleware. Знайомтсво із системою ланцюжків middleware, яка дозволяє перехоплювати та змінювати вхідні запити, необхідне для  додавання автентифікації, авторизації та інших проміжних дій.
  • Обробка та валідація форм. Знайомство з формами в Laravel і перевірка введених користувачем даних. Студенти зрозуміють, як використовувати вбудовані хелпери форм і правила перевірки Laravel для забезпечення цілісності даних.
  • Реалізація автентифікації та авторизації. Студенти вивчатимуть такі поняття, як реєстрація користувача, вхід, скидання пароля та контроль доступу на основі ролей.
  • Створення та виконання міграцій бази даних, заповнення БД. Знайомство з системою міграції Laravel для керування змінами схеми бази даних. Студенти отримають вміння створювати та запускати міграції, щоб змінити структуру бази даних, і використовувати сідери для заповнення бази даних демо-даними.
  • Знайомство з основами тестування в Laravel. Вони дізнаються, як писати модульні тести та інтеграційні тести з PHPUnit.
  • Розробка RESTful API-застосунків у Laravel. Студенти навчаться створювати серверні служби, які можуть використовуватися іншими програмами. Вони зрозуміють, як визначати маршрути API, обробляти запити та повертати відповіді JSON.
  • Постійне навчання та акценти на практиці. Протягом курсу студенти працюватимуть над практичними проектами та завданнями, які дозволять їм застосувати свої знання та навички до реальних сценаріїв. Складність завдань, як правило, зростатиме з просуванням курсу, спираючись на базові концепції Laravel.
Результати навчання

Студент в результаті навчання отримує знання, вміння та навички з розробки, тестування та розгортання веб-застосунків на PHP-фреймворку Laravel, по роботі з менеджером розширень composer, розробці моделей даних, валідації даних, роботі з базою даних, налаштування маршрутизації, сервісу електронної пошти, реалізації автентифікації, розробки системи ролей, використанню механізмів кешування, безпеки даних, розробки RESTful API.

Перелік тем
  1. Вступ до Laravel: огляд Laravel, його функцій і переваг порівняно з іншими фреймворками PHP.
  2. Встановлення та налаштування Laravel: встановлення Laravel і налаштування середовища розробки на локальній машині.
  3. Маршрутизація та контролери: визначення маршрутів, створення контролерів і обробка вхідних запитів.
  4. Перегляди та створення шаблонів Blade: використання механізму створення шаблонів Blade для створення динамічних переглядів, включаючи макети, частини та директиви.
  5. База даних і Eloquent ORM: взаємодія з базою даних за допомогою Laravel Eloquent ORM, виконання операцій CRUD і визначення зв’язків між моделями.
  6. Проміжне програмне забезпечення: розуміння та впровадження проміжного програмного забезпечення для перехоплення та зміни вхідних запитів.
  7. Обробка та перевірка форм: обробка надсилання форм, перевірка введених користувачем даних і використання помічників форм Laravel і правил перевірки.
  8. Автентифікація та авторизація: Реалізація функцій автентифікації користувача, реєстрації та входу, а також керування доступом на основі ролей.
  9. Міграція бази даних і засівки: керування змінами схеми бази даних за допомогою системи міграції Laravel і заповнення бази даних початковими даними.
  10. Тестування: Написання модульних тестів та інтеграційних тестів за допомогою інфраструктури тестування Laravel, PHPUnit.
  11. API RESTful: створення API RESTful у Laravel, обробка запитів API та повернення відповідей JSON.
  12. Обробка помилок і журналювання: керування та обробки помилок у програмах Laravel, а також методи журналювання та налагодження.
  13. Кешування та оптимізація продуктивності: методи кешування, стратегії оптимізації продуктивності та використання таких інструментів, як Redis і Memcached.
  14. Черги та обробка завдань: реалізація черг і асинхронна обробка завдань у Laravel за допомогою таких інструментів, як Redis і Beanstalkd.
  15. Зв’язок у реальному часі: інтеграція функцій зв’язку в реальному часі за допомогою протоколів Laravel Echo та WebSocket.
  16. Розгортання та конфігурація сервера: розгортання програм Laravel на робочих серверах і налаштування серверного середовища.
  17. Найкращі методи безпеки: впровадження заходів безпеки, таких як перевірка введених даних, захист CSRF і захист конфіденційних даних.
  18. Пакунки та екосистема Laravel: вивчення популярних пакетів Laravel і використання екосистеми Laravel для розширення функціональності програми.
Система оцінювання

За курс студент отримує максимальну оцінку -- 100 балів. З них 80 балів за лабораторні роботи, 10 балів за тест і 10 балів за активність та виконання завдань на лекціях.

Форма контролю
залік