Table of Contents
HandleRequest
Layer: Core · Source: lib/core/HandleRequest.php:30 (lines 30–595)
final class HandleRequest
Static facade used by Dispatcher to dispatch front-end requests when SEO-friendly (pretty) permalinks are disabled. It parses the request URI and query string, validates the requested path against a whitelist, and renders the matching template (or delegates to a registered FrontRequestHandler).
Docblock Metadata
| Tag | Value |
|---|---|
@category | Core Class |
@author | M.Noermoehammad |
@license | MIT |
@version | 1.1 |
@since | Since Release 1.0 |
Inheritance
No parent, interface or trait. This is a root type.
Constants (0)
None.
Properties (4)
| Visibility | Type | Name | Default | Line |
|---|---|---|---|---|
private static | static | $queryStringParsed | 41 | |
private static | static | $requestPathProcessed | 48 | |
private static | static | $frontHelper | 56 | |
private static | static ?ThemeRendererInterface | $themeRenderer | null | 63 |
Methods (22)
| Visibility | Method | Summary | Line |
|---|---|---|---|
| public static | setThemeRenderer() | Set the ThemeRendererInterface instance | 70 |
| public static | handleFrontHelper() | handleFrontHelper | 86 |
| public static | findRequestToRules() | findRequestToRules | 104 |
| private static | findRequestToPath() | findRequestToPath() | 134 |
| private static | isRequestToPathValid() | isRequestToPathValid() | 166 |
| public static | isMatchedUriRequested() | isMatchedUriRequested() | 187 |
| public static | isQueryStringRequested() | isQueryStringRequested() | 204 |
| public static | checkMatchUriRequested() | checkMatchUriRequested() | 226 |
| public static | allowedPathRequested() | allowedPathRequested | 247 |
| private static | renderTemplate() | renderTemplate | 269 |
| private static | deliverQuerySearch() | deliverQuerySearch | 293 |
| private static | handleDownloadRequest() | handleDownloadRequest | 333 |
| private static | handlePathBasedDownload() | handlePathBasedDownload | 356 |
| private static | getDownloadController() | (undocumented) | 382 |
| public static | deliverQueryString() | deliverQueryString | 398 |
| private static | deliverQueryPost() | deliverQueryPost | 450 |
| private static | deliverQueryCategory() | deliverQueryCategory | 473 |
| private static | deliverQueryPage() | deliverQueryPage | 496 |
| private static | deliverQueryArchive() | deliverQueryArchive | 519 |
| private static | deliverQueryTag() | deliverQueryTag | 535 |
| private static | deliverQueryDownload() | deliverQueryDownload | 551 |
| private static | deliverDefaultQuery() | deliverDefaultQuery | 569 |
setThemeRenderer()
public static function setThemeRenderer(?ThemeRendererInterface $renderer): void
lines 70–73 (4)
Set the ThemeRendererInterface instance
| Parameter | Type | Default | Description |
|---|---|---|---|
$renderer | ''?ThemeRendererInterface'' | required | none |
Returns: void
handleFrontHelper()
public static function handleFrontHelper()
lines 86–91 (6)
handleFrontHelper
Resolve the shared FrontService instance from the global registry. Returns null when the service has not been registered so callers can fail safely. The FrontHelper static facade is deprecated; front-end content is now accessed through this service.
Takes no parameters.
Returns: (none declared) — FrontService|null
findRequestToRules()
public static function findRequestToRules($rules)
lines 104–122 (19)
findRequestToRules
Match the current request URI against a list of route patterns and return the first match's captured parameters.
| Parameter | Type | Default | Description |
|---|---|---|---|
$rules | (untyped) | required | List of route regex patterns. |
Returns: (none declared) — array The captured matches for the first matching rule, or an empty array when no rule matches.
findRequestToPath()
private static function findRequestToPath()
lines 134–156 (23)
findRequestToPath()
Resolve the raw request path (query string stripped) once per request and cache the result so repeat callers do no redundant work.
Takes no parameters.
Returns: (none declared) — string The request path without leading/trailing slashes, or a directory separator for the site root.
isRequestToPathValid()
private static function isRequestToPathValid($args)
lines 166–176 (11)
isRequestToPathValid()
| Parameter | Type | Default | Description |
|---|---|---|---|
$args | (untyped) | required | Zero-based segment index into the request path. |
Returns: (none declared) — string|boolean The basename of the requested segment, or false when the segment does not exist.
isMatchedUriRequested()
public static function isMatchedUriRequested()
lines 187–192 (6)
isMatchedUriRequested()
Return the first path segment of the requested URI.
Takes no parameters.
Returns: (none declared) — string The first segment, or an empty string when no request URI is present.
isQueryStringRequested()
public static function isQueryStringRequested()
lines 204–215 (12)
isQueryStringRequested()
Parse the query string into a ['key' ⇒ …, 'value' ⇒ …] pair. The result is computed once per request and cached for all subsequent callers (templates, permalink helpers and theme utilities).
Takes no parameters.
Returns: (none declared) — array Associative array with 'key' and 'value' entries.
checkMatchUriRequested()
public static function checkMatchUriRequested()
lines 226–235 (10)
checkMatchUriRequested()
Compare the first URI segment with the first sanitized RequestPath segment to detect a canonical (matching) request.
Takes no parameters.
Returns: (none declared) — bool True when both segments are identical, false otherwise.
allowedPathRequested()
public static function allowedPathRequested($path)
lines 247–258 (12)
allowedPathRequested
Check whether the first path segment of the request URI is present in the whitelist, or the request targets the site root.
| Parameter | Type | Default | Description |
|---|---|---|---|
$path | (untyped) | required | Whitelist of allowed first path segments. |
Returns: (none declared) — bool True when the request may proceed, false otherwise.
renderTemplate()
private static function renderTemplate($template, $statusCode = 200)
lines 269–284 (16)
renderTemplate
Render a template through the injected ThemeRenderer, or fall back to the legacy global theme functions when no renderer is available.
| Parameter | Type | Default | Description |
|---|---|---|---|
$template | (untyped) | required | Template name (without .php extension). |
$statusCode | (untyped) | 200 | HTTP status code used by the legacy fallback. |
Returns: (none declared)
deliverQuerySearch()
private static function deliverQuerySearch()
lines 293–322 (30)
deliverQuerySearch
Render the search template. When the keyword is too short the search globals are emptied; otherwise a SearchFinder query is run and its results exposed through $GLOBALS for the theme template.
Takes no parameters.
Returns: (none declared)
handleDownloadRequest()
private static function handleDownloadRequest($identifier)
lines 333–343 (11)
handleDownloadRequest
Dispatch a download request read from the query string. When the request URI also contains a '/file' segment the download controller streams the file; otherwise the download landing page is rendered.
| Parameter | Type | Default | Description |
|---|---|---|---|
$identifier | (untyped) | required | Download identifier (UUID). |
Returns: (none declared)
handlePathBasedDownload()
private static function handlePathBasedDownload($firstSegment)
lines 356–380 (25)
handlePathBasedDownload
Handle '/download/{identifier}' style paths when permalinks are disabled. Renders the download landing page or streams the file for an additional '/file' path segment.
| Parameter | Type | Default | Description |
|---|---|---|---|
$firstSegment | (untyped) | required | First path segment of the request. |
Returns: (none declared) — bool True when the request was handled as a download, false otherwise so the caller can continue dispatching.
getDownloadController()
private static function getDownloadController()
lines 382–389 (8)
Takes no parameters.
Returns: (none declared)
deliverQueryString()
public static function deliverQueryString()
lines 398–443 (46)
deliverQueryString
Dispatch a query-string request to its handler, its dedicated delivery method, or the default (home) renderer.
Takes no parameters.
Returns: (none declared)
deliverQueryPost()
private static function deliverQueryPost()
lines 450–466 (17)
deliverQueryPost
Render a single post from the 'p' query-string key.
Takes no parameters.
Returns: (none declared)
deliverQueryCategory()
private static function deliverQueryCategory()
lines 473–489 (17)
deliverQueryCategory
Render a category archive from the 'cat' query-string key.
Takes no parameters.
Returns: (none declared)
deliverQueryPage()
private static function deliverQueryPage()
lines 496–512 (17)
deliverQueryPage
Render a static page from the 'pg' query-string key.
Takes no parameters.
Returns: (none declared)
deliverQueryArchive()
private static function deliverQueryArchive()
lines 519–528 (10)
deliverQueryArchive
Render the monthly archive from the 'a' query-string key.
Takes no parameters.
Returns: (none declared)
deliverQueryTag()
private static function deliverQueryTag()
lines 535–544 (10)
deliverQueryTag
Render the tag archive from the 'tag' query-string key.
Takes no parameters.
Returns: (none declared)
deliverQueryDownload()
private static function deliverQueryDownload()
lines 551–560 (10)
deliverQueryDownload
Dispatch a download request from the 'download' query-string key.
Takes no parameters.
Returns: (none declared)
deliverDefaultQuery()
private static function deliverDefaultQuery()
lines 569–594 (26)
deliverDefaultQuery
Fallback dispatch for requests without a recognized query-string key. Renders the home template for the root, whitelisted legacy entry points and matched URIs; otherwise renders a 404.
Takes no parameters.
Returns: (none declared)
Imports
| Alias | Fully-qualified name |
|---|---|
DownloadController | ''Scriptlog\Controller\DownloadController'' |
MediaDao | ''Scriptlog\Dao\MediaDao'' |
HandlerRegistry | ''Scriptlog\Handler\HandlerRegistry'' |
DownloadModel | ''Scriptlog\Model\DownloadModel'' |
DownloadService | ''Scriptlog\Service\DownloadService'' |
FrontService | ''Scriptlog\Service\FrontService'' |
This page is generated from source by 'tools/gendoc'. Edits will be overwritten.
