-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.php
More file actions
50 lines (33 loc) · 1.95 KB
/
Copy pathindex.php
File metadata and controls
50 lines (33 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
header('Content-Type: text/plain; charset=utf-8');
require_once 'LightImageNode.php';
// === 1. Тест картинки з мережі Інтернет ===
echo "=== Сценарій 1: Обробка зображення з мережі ===\n";
$remoteImage = new LightImageNode(
"https://example.com/assets/images/logo.png",
["img-fluid", "rounded"]
);
// Показуємо HTML код елемента
echo "HTML код: " . $remoteImage->renderOuterHTML() . "\n";
// Дивимося, яка стратегія відпрацює при завантаженні
echo "Дія: " . $remoteImage->renderImageSource() . "\n";
echo "\n" . str_repeat("-", 60) . "\n\n";
// === 2. Тест картинки з локальної файлової системи ===
echo "=== Сценарій 2: Обробка локального зображення ===\n";
$localImage = new LightImageNode(
"assets/uploads/avatar.jpg",
["user-avatar"]
);
// Показуємо HTML код елемента
echo "HTML код: " . $localImage->renderOuterHTML() . "\n";
// Дивимося, яка стратегія відпрацює при завантаженні
echo "Дія: " . $localImage->renderImageSource() . "\n";
echo "\n" . str_repeat("-", 60) . "\n\n";
// === 3. Тест динамічної підміни стратегії на льоту ===
echo "=== Сценарій 3: Динамічна зміна стратегії вручну ===\n";
$dynamicImage = new LightImageNode("images/banner.png");
echo "Початкова дія: " . $dynamicImage->renderImageSource() . "\n";
// Наприклад, ми вирішили завантажити цей локальний файл через віддалений проксі-сервер
echo "Підміняємо стратегію на мережеву...\n";
$dynamicImage->setLoadStrategy(new NetworkLoadStrategy());
echo "Нова дія: " . $dynamicImage->renderImageSource() . "\n";