Layer: Core · Source: lib/core/Theme/PostViewModel.php:19 (lines 19–159)
final class PostViewModel extends AbstractThemeViewModel
Post view model.
Carries the already-escaped, display-ready fields for a single post (home, single, category, tag, blog and search list rendering). Templates print the getters directly; no logic, no queries.
| Tag | Value |
|---|---|
@category | Theme |
@author | M.Noermoehammad |
@license | MIT |
@version | 1.0 |
| Relation | Type | Meaning |
|---|---|---|
| extends | ''AbstractThemeViewModel'' | parent class/interface |
None.
None declared.
| Visibility | Method | Summary | Line |
|---|---|---|---|
| public static | fromRow() | Build a post view model from a prepared row. | 28 |
| public static | fromPrepared() | Build a post view model from already-prepared, already-safe values. | 73 |
| public | id() | 85 | |
| public | title() | 90 | |
| public | url() | 95 | |
| public | slug() | 100 | |
| public | author() | 105 | |
| public | date() | 110 | |
| public | excerpt() | 115 | |
| public | content() | 120 | |
| public | media() | 125 | |
| public | mediaCaption() | 130 | |
| public | tags() | 135 | |
| public | visibility() | 140 | |
| public | type() | 145 | |
| public | comments() | 150 | |
| public | topics() | 155 |
public static function fromRow(array $row, callable $escape)
lines 28–57 (30)
Build a post view model from a prepared row.
| Parameter | Type | Default | Description |
|---|---|---|---|
$row | array | required | none |
$escape | callable | required | none |
Returns: (none declared) — static
public static function fromPrepared(array $prepared)
lines 73–82 (10)
Build a post view model from already-prepared, already-safe values.
Used by the theme card pipeline (prepare_post_card()): the values are escaped or sanitized exactly once at the normalization boundary, so they are stored verbatim with no second escaping pass. Fields that are trusted sanitized HTML (content, topics) must be passed as-is and printed as-is.
| Parameter | Type | Default | Description |
|---|---|---|---|
$prepared | array | required | none |
Returns: (none declared) — static
public function id(): ?string
lines 85–88 (4)
Takes no parameters.
Returns: ?string
public function title(): ?string
lines 90–93 (4)
Takes no parameters.
Returns: ?string
public function url(): string
lines 95–98 (4)
Takes no parameters.
Returns: string
public function slug(): ?string
lines 100–103 (4)
Takes no parameters.
Returns: ?string
public function author(): ?string
lines 105–108 (4)
Takes no parameters.
Returns: ?string
public function date(): ?string
lines 110–113 (4)
Takes no parameters.
Returns: ?string
public function excerpt(): ?string
lines 115–118 (4)
Takes no parameters.
Returns: ?string
public function content(): ?string
lines 120–123 (4)
Takes no parameters.
Returns: ?string
public function media(): ?string
lines 125–128 (4)
Takes no parameters.
Returns: ?string
public function mediaCaption(): ?string
lines 130–133 (4)
Takes no parameters.
Returns: ?string
public function tags(): ?string
lines 135–138 (4)
Takes no parameters.
Returns: ?string
public function visibility(): ?string
lines 140–143 (4)
Takes no parameters.
Returns: ?string
public function type(): ?string
lines 145–148 (4)
Takes no parameters.
Returns: ?string
public function comments(): ?string
lines 150–153 (4)
Takes no parameters.
Returns: ?string
public function topics(): ?string
lines 155–158 (4)
Takes no parameters.
Returns: ?string
This page is generated from source by 'tools/gendoc'. Edits will be overwritten.