nmk

Лабораторна робота №3 (2 години)

Тема: Робота з умовами в розмітці. Застосування конструкцій if-else для зміни візуального оформлення елементів сторінки.

Мета: Навчитись застосовувати керуючі конструкції логіки (if/else/elseif) під час виведення HTML-коду для створення динамічного UI на основі значень змінних.

Технологічний стек: PHP, HTML5, CSS (базові стилі).

Завдання

  1. Ознайомитись з альтернативним синтаксисом умовних операторів у PHP.
  2. Додати до наявних змінних прапорець (boolean), що описує стан завдання (наприклад, виконано/не виконано).
  3. Використати умову if-else для умовного рендеру відповідних блоків тексту.
  4. Додати зміну HTML-класу (CSS) залежно від стану завдання для візуальної відмінності.

Хід виконання роботи

Крок 1. Додавання логічних змінних

Угорі файлу index.php в блоці ініціалізації масиву чи змінних додайте нову змінну типу boolean. Наприклад: $isCompleted = false; або $isUrgent = true;.

Крок 2. Альтернативний синтаксис if-else

При генерації HTML-коду безперервні PHP-блоки з фігурними дужками { } роблять код важкочитабельним (spaghetti code). Вивчіть синтаксис: <?php if (умова): ?> ...HTML... <?php else: ?> ...HTML... <?php endif; ?>. Виведіть поруч із назвою вашого тестового завдання текст “✔️ Виконано”, якщо $isCompleted == true, і “🕒 В процесі” в іншому випадку.

Крок 3. Умовне призначення CSS-класів

Додайте між тегами <head> стилі (<style>), які містять класи .task-done (наприклад, із зеленим кольором тексту чи перекресленням) та .task-pending (сірим кольором). У атрибут class="..." вашого елемента списку вбудуйте PHP-перевірку з тернарним оператором, щоб класс динамічно перемикався залежно від значення $isCompleted.

Приклад: class="<?= $isCompleted ? 'task-done' : 'task-pending' ?>"

Крок 4. Тестування

Перевірте у браузері правильність відображення. Потім змініть у PHP-коді значення змінної на протилежне (true на false або навпаки) та оновіть сторінку. Колір і статус повинні автоматично змінитись.

Контрольні запитання

  1. Які оператори порівняння існують у PHP (назвіть мінімум 4)?
  2. У чому різниця між тотожним порівнянням (===) та звичайним прирівнюванням (==) у PHP? Наведіть приклад, де результати відрізнятимуться.
  3. Для чого потрібен альтернативний синтаксис керуючих конструкцій (if (...):endif;) під час роботи з HTML?
  4. Що таке тернарний оператор і який він має синтаксис? Коли його використання є недоцільним?
  5. Які значення в PHP приводяться до false при перетворенні типів (type juggling) в умові if?

Вимоги до звіту

  1. Зробити новий коміт та відправити його в репозиторій на GitHub. Посилання надати у Classroom.
  2. У файл lab3.md винести фрагмент коду, що демонструє використання умов в розмітці та тернарного оператора в атрибутах HTML.
  3. У файлі lab3.md дати розгорнуті відповіді на контрольні запитання.