====== ThemeViewModelFactory ======
**Layer:** ''Core'' · **Source:** ''lib/core/Theme/ThemeViewModelFactory.php:19'' (lines 19–192)
----
final class ThemeViewModelFactory
ThemeViewModelFactory
Turns prepared arrays from FrontService/models into typed, already-escaped
view models. All escaping flows through the single theme_escape_html()
boundary so every theme renders from the same safe data shape.
======= Docblock Metadata =======
^ Tag ^ Value ^
| ''@category'' | Theme |
| ''@author'' | M.Noermoehammad |
| ''@license'' | MIT |
| ''@version'' | 1.0 |
======= Inheritance =======
//No parent, interface or trait. This is a root type.//
======= Constants (0) =======
//None.//
======= Properties (1) =======
^ Visibility ^ Type ^ Name ^ Default ^ Line ^
| ''private'' | ''(untyped)'' | ''$escape'' | | 22 |
======= Methods (12) =======
^ Visibility ^ Method ^ Summary ^ Line ^
| public | ''__construct()'' | | 28 |
| public | ''makePost()'' | Create a post view model. | 41 |
| public | ''makePostFromPrepared()'' | Create a post view model from already-prepared, already-safe values. | 60 |
| public | ''makePage()'' | Create a page view model. | 74 |
| public | ''makePageFromPrepared()'' | Create a page view model from already-prepared, already-safe values. | 88 |
| public | ''makeArchive()'' | Create an archive view model. | 102 |
| public | ''makeArchiveFromPrepared()'' | Create an archive view model from already-prepared, already-safe values. | 116 |
| public | ''makeMenu()'' | Create a menu view model. | 130 |
| public | ''makeMenuFromPrepared()'' | Create a menu view model from already-prepared, already-safe values. | 144 |
| public | ''makeSidebar()'' | Create a sidebar view model. | 158 |
| public | ''makeSidebarFromPrepared()'' | Create a sidebar view model from already-prepared, already-safe values. | 172 |
| public | ''makePosts()'' | Create a collection of post view models from a list of rows. | 186 |
======== __construct() ========
public function __construct(?callable $escape = null)
//lines 28–33 (6)//
^ Parameter ^ Type ^ Default ^ Description ^
| ''$escape'' | ''?callable'' | ''null'' | //none// |
======== makePost() ========
public function makePost(array $row): PostViewModel
//lines 41–44 (4)//
Create a post view model.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$row'' | ''array'' | //required// | //none// |
**Returns:** [[scriptlog:lib:core:postviewmodel|''PostViewModel'']] — PostViewModel
======== makePostFromPrepared() ========
public function makePostFromPrepared(array $prepared): PostViewModel
//lines 60–63 (4)//
Create a post view model from already-prepared, already-safe values.
Used by the theme card pipeline (prepare_post_card()): values are
escaped/sanitized exactly once at the normalization boundary, so the
factory is the single creation point for both raw rows and prepared
values.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$prepared'' | ''array'' | //required// | //none// |
**Returns:** [[scriptlog:lib:core:postviewmodel|''PostViewModel'']] — PostViewModel
======== makePage() ========
public function makePage(array $row): PageViewModel
//lines 74–77 (4)//
Create a page view model.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$row'' | ''array'' | //required// | //none// |
**Returns:** [[scriptlog:lib:core:pageviewmodel|''PageViewModel'']] — PageViewModel
======== makePageFromPrepared() ========
public function makePageFromPrepared(array $prepared): PageViewModel
//lines 88–91 (4)//
Create a page view model from already-prepared, already-safe values.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$prepared'' | ''array'' | //required// | //none// |
**Returns:** [[scriptlog:lib:core:pageviewmodel|''PageViewModel'']] — PageViewModel
======== makeArchive() ========
public function makeArchive(array $row): ArchiveViewModel
//lines 102–105 (4)//
Create an archive view model.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$row'' | ''array'' | //required// | //none// |
**Returns:** [[scriptlog:lib:core:archiveviewmodel|''ArchiveViewModel'']] — ArchiveViewModel
======== makeArchiveFromPrepared() ========
public function makeArchiveFromPrepared(array $prepared): ArchiveViewModel
//lines 116–119 (4)//
Create an archive view model from already-prepared, already-safe values.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$prepared'' | ''array'' | //required// | //none// |
**Returns:** [[scriptlog:lib:core:archiveviewmodel|''ArchiveViewModel'']] — ArchiveViewModel
======== makeMenu() ========
public function makeMenu(array $row): MenuViewModel
//lines 130–133 (4)//
Create a menu view model.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$row'' | ''array'' | //required// | //none// |
**Returns:** [[scriptlog:lib:core:menuviewmodel|''MenuViewModel'']] — MenuViewModel
======== makeMenuFromPrepared() ========
public function makeMenuFromPrepared(array $prepared): MenuViewModel
//lines 144–147 (4)//
Create a menu view model from already-prepared, already-safe values.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$prepared'' | ''array'' | //required// | //none// |
**Returns:** [[scriptlog:lib:core:menuviewmodel|''MenuViewModel'']] — MenuViewModel
======== makeSidebar() ========
public function makeSidebar(array $row): SidebarViewModel
//lines 158–161 (4)//
Create a sidebar view model.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$row'' | ''array'' | //required// | //none// |
**Returns:** [[scriptlog:lib:core:sidebarviewmodel|''SidebarViewModel'']] — SidebarViewModel
======== makeSidebarFromPrepared() ========
public function makeSidebarFromPrepared(array $prepared): SidebarViewModel
//lines 172–175 (4)//
Create a sidebar view model from already-prepared, already-safe values.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$prepared'' | ''array'' | //required// | //none// |
**Returns:** [[scriptlog:lib:core:sidebarviewmodel|''SidebarViewModel'']] — SidebarViewModel
======== makePosts() ========
public function makePosts(array $rows): array
//lines 186–191 (6)//
Create a collection of post view models from a list of rows.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$rows'' | ''array'' | //required// | //none// |
**Returns:** ''array'' — PostViewModel[]
----
//This page is generated from source by 'tools/gendoc'. Edits will be overwritten.//