aboutsummaryrefslogtreecommitdiff
path: root/src/view/ViewDirector.php
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2026-06-16 23:52:55 +0200
committerpolo <ordipolo@gmx.fr>2026-06-16 23:52:55 +0200
commit63fb854560c2a437ebd72f3ab8b97349fd3eb61d (patch)
tree350eece664c163efaf87017f09296239d29a8595 /src/view/ViewDirector.php
parent361287c4b7f543b9ea0fc8182777a864f6f9f335 (diff)
downloadcms-main.tar.gz
cms-main.tar.bz2
cms-main.zip
séparation par rôle de ViewDirector et ViewControllerHEADmain
Diffstat (limited to 'src/view/ViewDirector.php')
-rw-r--r--src/view/ViewDirector.php28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/view/ViewDirector.php b/src/view/ViewDirector.php
new file mode 100644
index 0000000..c1a38b8
--- /dev/null
+++ b/src/view/ViewDirector.php
@@ -0,0 +1,28 @@
1<?php
2// src/view/ViewDirector.php
3//
4// génère le HTML avec des Builder
5
6declare(strict_types=1);
7
8use App\Entity\Node;
9
10class ViewDirector extends AbstractBuilder // ViewDirector est le premier Builder
11{
12 public Node $root_node;
13
14 public function __construct(){} // surcharge celui de AbstractBuilder
15
16 public function buildHTML(Node $root_node): string
17 {
18 $this->root_node = $root_node;
19 $this->useChildrenBuilder($this->root_node);
20
21 if(isset($_SESSION['flash_message'])){
22 $this->html .= '<script>window.flash_message = "' . $_SESSION['flash_message'] . '";</script>';
23 unset($_SESSION['flash_message']);
24 }
25
26 return $this->html;
27 }
28} \ No newline at end of file