summaryrefslogtreecommitdiff
path: root/skin/main.skin.php
diff options
context:
space:
mode:
Diffstat (limited to 'skin/main.skin.php')
-rw-r--r--skin/main.skin.php29
1 files changed, 29 insertions, 0 deletions
diff --git a/skin/main.skin.php b/skin/main.skin.php
new file mode 100644
index 0000000..f44f739
--- /dev/null
+++ b/skin/main.skin.php
@@ -0,0 +1,29 @@
+<?php
+
+namespace skin\main;
+
+function index($ctx, $name, $show_cities, $cities) {
+return <<<HTML
+ Hello, {$name}!<br/>
+
+ {$ctx->if_true($show_cities, 'line of truth<br/>')}
+ {$ctx->if_not(false, $ctx->renderIfFalse, '<b>safe<b>', '<b>unsafe<b>')}
+
+ <ul>
+ {$ctx->for_each($cities, fn($city, $i) => $ctx->renderIndexCityItem($city, $i+1))}
+ </ul>
+HTML;
+}
+
+function renderIndexCityItem($ctx, $city, $index) {
+return <<<HTML
+ <li>{$index} {$city}</li>
+HTML;
+}
+
+function renderIfFalse($ctx, $str, $unsafe_str) {
+return <<<HTML
+safe: $str<br/>
+unsafe: $unsafe_str
+HTML;
+} \ No newline at end of file