class-ccss-store.php

Critical-CSS file lifecycle + status store (FUT-001).

Source includes/CSS/class-ccss-store.php6 min readPart of Performance Optimisation

includes/CSS/class-ccss-store.php

Critical-CSS file lifecycle + status store (FUT-001).

Namespace: PerformanceOptimise\\Inc · Lines: 1042

Class Ccss_Store

Class Ccss_Store

Source: includes/CSS/class-ccss-store.php, line 46

class Ccss_Store

Tags: @since 2.4.0

Constants

ConstantVisibilityValueLine
CCSS_DIRpublic\'/cache/wppo/ccss\'57
TEMPLATE_HASH_PATTERNpublic\'/^[A-Za-z0-9_\\-]{1,128}$/\'69
VIEWPORT_VARIANTSpublicarray( \'mobile\', \'desktop\' )82

Properties

PropertyVisibilityTypeDefaultLine
$ccss_exists_cacheprivate staticarrayarray()93
$ccss_content_cacheprivate staticarrayarray()104
$sample_url_cacheprivate staticarrayarray()115
$templates_memoprivate static?arraynull126
$status_cache_readerprivate staticcallable|nullnull141

publicstatic set_status_cache_reader()

public static function set_status_cache_reader($reader): void

Inject (or clear) the generation-status reader.

ParameterTypeDefaultDescription
$readercallable|null—Status reader: fn( string $hash ): string|false.

Return: void.

Tags: @internal Test seam to break the Ccss_Store -> Critical_CSS edge. Pass null to restore the default Critical_CSS bridge. · @since 2.4.0

Source: includes/CSS/class-ccss-store.php, line 153

publicstatic get_ccss_dir()

public static function get_ccss_dir(): string

Get the CCSS directory path.

Return: string.

Tags: @since 2.0.0 Moved verbatim from Critical_CSS (FUT-001); original tag retained.

Source: includes/CSS/class-ccss-store.php, line 163

publicstatic get_ccss_url()

public static function get_ccss_url(): string

Get the CCSS directory URL.

Return: string.

Tags: @since 2.0.0

Source: includes/CSS/class-ccss-store.php, line 176

publicstatic get_ccss_file()

public static function get_ccss_file(string $template_hash): string

Get the CCSS file path for a template hash.

ParameterTypeDefaultDescription
$template_hashstring—The template hash.

Return: string — Full file path.

Tags: @since 2.0.0

Source: includes/CSS/class-ccss-store.php, line 190

publicstatic is_ccss_path_contained()

public static function is_ccss_path_contained(string $path): bool

Whether a path stays inside the CCSS directory (issue #1348).

ParameterTypeDefaultDescription
$pathstring—Absolute path to check.

Return: bool — True when contained.

Tags: @since 2.3.0

Source: includes/CSS/class-ccss-store.php, line 217

publicstatic is_valid_template_hash()

public static function is_valid_template_hash($hash): bool

Whether a template hash is safe to queue, store, or log.

ParameterTypeDefaultDescription
$hashmixed—Candidate hash.

Return: bool — True when the hash is a valid template hash.

Tags: @since 2.2.0

Source: includes/CSS/class-ccss-store.php, line 248

publicstatic stage_ccss_for_template()

public static function stage_ccss_for_template(string $template_hash, string $css): array

Stage critical CSS for a template without going live (issue #1348).

ParameterTypeDefaultDescription
$template_hashstring—Validated template hash.
$cssstring—Raw critical-CSS content.

Return: array{staged: — bool, reason: string, bytes: int, checksum: string, live_bytes: int, live_checksum: string, changed: bool} Preview metadata.

Tags: @since 2.3.0

Source: includes/CSS/class-ccss-store.php, line 267

publicstatic promote_staged_ccss()

public static function promote_staged_ccss(string $template_hash): bool

Promote staged critical CSS over the live file (issue #1348).

ParameterTypeDefaultDescription
$template_hashstring—Validated template hash.

Return: bool — True when the staged file replaced the live file.

Tags: @since 2.3.0

Source: includes/CSS/class-ccss-store.php, line 336

publicstatic rollback_ccss_to_fallback()

public static function rollback_ccss_to_fallback(string $template_hash, string=\'manual\' $reason): bool

Roll back critical CSS to the retained last-good fallback (issue #1348).

ParameterTypeDefaultDescription
$template_hashstring—Validated template hash.
$reasonstring=\'manual\'—Machine-readable reason recorded in the activity log.

Return: bool — True when the fallback payload replaced the live file.

Tags: @since 2.3.0

Source: includes/CSS/class-ccss-store.php, line 410

publicstatic get_ccss_rollout_status()

public static function get_ccss_rollout_status(string $template_hash): array

Describe the critical-CSS safe-rollout slot (issue #1348).

ParameterTypeDefaultDescription
$template_hashstring—Validated template hash.

Return: array{live_bytes: — int, live_checksum: string, staged: bool, staged_bytes: int, staged_checksum: string, staged_changed: bool, fallback: bool, health: string} Slot description.

Tags: @since 2.3.0

Source: includes/CSS/class-ccss-store.php, line 465

publicstatic verify_ccss_health()

public static function verify_ccss_health(string $template_hash): array

Verify critical-CSS health, auto-restoring last-good (issue #1348).

ParameterTypeDefaultDescription
$template_hashstring—Validated template hash.

Return: array{status: — string, reason: string, bytes: int} One of healthy|restored|degraded.

Tags: @since 2.3.0

Source: includes/CSS/class-ccss-store.php, line 534

publicstatic get_ccss_variant_file()

public static function get_ccss_variant_file(string $template_hash, string $variant): string

Get the CCSS file path for a viewport-split variant.

ParameterTypeDefaultDescription
$template_hashstring—Template hash.
$variantstring—Variant slug (\’mobile\’|\’desktop\’).

Return: string — Full file path, or \’\’ when refused.

Tags: @since 2.2.0

Source: includes/CSS/class-ccss-store.php, line 580

publicstatic get_ccss_variant_content()

public static function get_ccss_variant_content(string $template_hash, string $variant): ?string

Read a viewport-split variant with fail-open fallback (issue #1164).

ParameterTypeDefaultDescription
$template_hashstring—Template hash.
$variantstring—Variant slug (\’mobile\’|\’desktop\’).

Return: string|null — Variant or single CCSS content, or null when missing.

Tags: @since 2.2.0

Source: includes/CSS/class-ccss-store.php, line 608

publicstatic is_variant_stale()

public static function is_variant_stale(string $template_hash, string $variant): bool

Whether a viewport-split variant is stale (issue #1164).

ParameterTypeDefaultDescription
$template_hashstring—Template hash.
$variantstring—Variant slug (\’mobile\’|\’desktop\’).

Return: bool — True when the variant must not be served.

Tags: @since 2.2.0

Source: includes/CSS/class-ccss-store.php, line 655

publicstatic invalidate_stale_variants()

public static function invalidate_stale_variants(string $template_hash): void

Delete stale viewport-split variants for a template (issue #1164).

ParameterTypeDefaultDescription
$template_hashstring—Template hash.

Return: void.

Tags: @since 2.2.0

Source: includes/CSS/class-ccss-store.php, line 687

publicstatic get_ccss_file_url()

public static function get_ccss_file_url(string $template_hash): string

File-first CCSS URL with mtime cache busting.

ParameterTypeDefaultDescription
$template_hashstring—Template hash.

Return: string — File URL with mtime version, or \’\’ when unavailable.

Tags: @since 2.0.0

Source: includes/CSS/class-ccss-store.php, line 730

publicstatic get_ccss_meta()

public static function get_ccss_meta(string $template_hash): array

Size metadata for a stored CCSS variant.

ParameterTypeDefaultDescription
$template_hashstring—Template hash.

Return: array{size: — int, truncated: bool, mtime: int} Size in bytes, over-cap flag, and file mtime (0 when missing).

Tags: @since 2.0.0

Source: includes/CSS/class-ccss-store.php, line 759

publicstatic ccss_exists()

public static function ccss_exists(string $template_hash): bool

Check if CCSS exists for a template hash.

ParameterTypeDefaultDescription
$template_hashstring—The template hash.

Return: bool.

Tags: @since 2.0.0 Per-request memo (audit #874 finding 7), reset via reset_ccss_memo().

Source: includes/CSS/class-ccss-store.php, line 785

publicstatic get_ccss_content()

public static function get_ccss_content(string $template_hash): ?string

Read the critical CSS for a template hash through a per-request content memo keyed by mtime.

ParameterTypeDefaultDescription
$template_hashstring—Template hash.

Return: string|null.

Tags: @since 2.0.0

Source: includes/CSS/class-ccss-store.php, line 813

publicstatic get_status_all()

public static function get_status_all(): array

Get all registered template hashes and their status.

Return: array<string, — array{status: string, label: string, size: int, truncated: bool}> Template hash => status + label + size.

Tags: @since 2.0.0

Source: includes/CSS/class-ccss-store.php, line 862

publicstatic get_templates()

public static function get_templates(): array

Get the list of supported templates.

Return: array<string, — string> Template identifier => Label.

Tags: @since 2.0.0

Source: includes/CSS/class-ccss-store.php, line 911

publicstatic get_sample_url()

public static function get_sample_url(string $template): string|false

Get a sample URL for a given template.

ParameterTypeDefaultDescription
$templatestring—Template identifier.

Return: string|false — URL or false if not found.

Tags: @since 2.0.0

Source: includes/CSS/class-ccss-store.php, line 941

publicstatic reset_ccss_memo()

public static function reset_ccss_memo(): void

Reset the per-request CCSS storage memos (existence/content/sample-URL/templates).

Return: void.

Tags: @since 2.4.0

Source: includes/CSS/class-ccss-store.php, line 1013

publicstatic invalidate_ccss_memo()

public static function invalidate_ccss_memo(string $template_hash): void

Invalidate the per-request CCSS memos for a single template hash.

ParameterTypeDefaultDescription
$template_hashstring—The template hash.

Return: void.

Tags: @since 2.0.0

Source: includes/CSS/class-ccss-store.php, line 1031