====== AbstractThemeViewModel ======
**Layer:** ''Core'' · **Source:** ''lib/core/Theme/AbstractThemeViewModel.php:19'' (lines 19–69)
----
abstract class AbstractThemeViewModel implements ThemeViewModelInterface
Base implementation shared by all theme view models.
Provides a single `fromRow()` contract and the escaped-value storage. All
values are escaped once, at construction time, through a callable passed in
by the factory. Subclasses only declare their public getters.
======= Docblock Metadata =======
^ Tag ^ Value ^
| ''@category'' | Theme |
| ''@author'' | M.Noermoehammad |
| ''@license'' | MIT |
| ''@version'' | 1.0 |
======= Inheritance =======
^ Relation ^ Type ^ Meaning ^
| implements | [[scriptlog:lib:core:themeviewmodelinterface|''ThemeViewModelInterface'']] | contract |
======= Constants (0) =======
//None.//
======= Properties (1) =======
^ Visibility ^ Type ^ Name ^ Default ^ Line ^
| ''protected'' | ''(untyped)'' | ''$values'' | ''[]'' | 22 |
======= Methods (4) =======
^ Visibility ^ Method ^ Summary ^ Line ^
| public static | ''fromRow()'' | Build the view model from a prepared row, escaping each value once. | 31 |
| public | ''get()'' | Return the escaped value for a given key. | 42 |
| public | ''toArray()'' | Return all escaped display values keyed by their public name. | 50 |
| protected static | ''safe()'' | Escape a single raw value through the provided boundary. | 62 |
======== fromRow() ========
public static function fromRow(array $row, callable $escape)
//line 31//
Build the view model from a prepared row, escaping each value once.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$row'' | ''array'' | //required// | //none// |
| ''$escape'' | ''callable'' | //required// | //none// |
**Returns:** ''(none declared)'' — static
======== get() ========
public function get(string $key): ?string
//lines 42–45 (4)//
Return the escaped value for a given key.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$key'' | ''string'' | //required// | //none// |
**Returns:** ''?string'' — string|null
======== toArray() ========
public function toArray(): array
//lines 50–53 (4)//
Documentation inherited from [[scriptlog:lib:core:themeviewmodelinterface|''Scriptlog\Core\Theme\ThemeViewModelInterface'']].
Return all escaped display values keyed by their public name.
//Takes no parameters.//
**Returns:** ''array'' — array
======== safe() ========
protected static function safe($raw, callable $escape): ?string
//lines 62–68 (7)//
Escape a single raw value through the provided boundary.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$raw'' | ''(untyped)'' | //required// | //none// |
| ''$escape'' | ''callable'' | //required// | //none// |
**Returns:** ''?string'' — string|null
----
//This page is generated from source by 'tools/gendoc'. Edits will be overwritten.//