====== 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.//