Scriptlog Docs

Scriptlog Documentation

Code reference for the Scriptlog codebase

User Tools

Site Tools


scriptlog:lib:core:dispatcher

This is an old revision of the document!


Dispatcher

Layer: Core · Source: lib/core/Dispatcher.php:34 (lines 34–535)


class Dispatcher

Docblock Metadata

^ Tag ^ Value ^
| ''@category'' | Core Class |
| ''@author'' | M.Noermoehammad |
| ''@license'' | MIT |
| ''@version'' | 1.1.2 |
| ''@since'' | Since Release 0.1 |
| ''@see'' | https://stackoverflow.com/questions/11696718/htaccess-rewrite-book-phpid-1234-to-book-1234 |
| ''@see'' | https://stackoverflow.com/questions/1039725/how-to-do-url-re-writing-in-php |
| ''@see'' | https://stackoverflow.com/questions/60339372/how-to-rewrite-url-by-htaccess-with-basic-parameters-in-core-php |
| ''@see'' | https://httpd.apache.org/docs/trunk/mod/mod_dir.html#fallbackresource |
| ''@see'' | https://stackoverflow.com/questions/26419426/htaccess-url-re-styling-image-url-to-seo-friendly |
| ''@see'' | https://mediatemple.net/community/products/dv/204643270/using-htaccess-rewrite-rules |
| ''@see'' | https://stackoverflow.com/questions/16388959/url-rewriting-with-php |

Inheritance

No parent, interface or trait. This is a root type.

Constants (0)

None.

Properties (2)

^ Visibility ^ Type ^ Name ^ Default ^ Line ^
| ''private'' | ''(untyped)'' | ''$route'' | ''[];'' | 42 |
| ''private'' | ''(untyped)'' | ''$frontendCompiled'' | ''null;'' | 47 |

Methods (19)

^ Visibility ^ Method ^ Summary ^ Line ^
| public | ''__construct()'' | Constructor | 68 |
| public | ''dispatch()'' | dispatch | 84 |
| public | ''handleSeoFriendlyUrl()'' | handleSeoFriendlyUrl | 98 |
| private | ''validateContentExists()'' | Validate content exists in database | 204 |
| private | ''validateSinglePost()'' | (undocumented) | 228 |
| private | ''validatePage()'' | (undocumented) | 248 |
| private | ''validateCategory()'' | (undocumented) | 267 |
| private | ''validateArchive()'' | (undocumented) | 278 |
| private | ''validateTag()'' | (undocumented) | 297 |
| private | ''handleQueryDownload()'' | (undocumented) | 308 |
| private | ''handleQueryStringUrl()'' | handleQueryStringUrl | 336 |
| private | ''requestURI()'' | RequestURI() | 349 |
| private | ''invokeTheme()'' | (undocumented) | 375 |
| private | ''renderTheme()'' | renderTheme | 386 |
| private | ''renderHtmxFragment()'' | Render HTMX fragment — just the content template, no header/footer. | 408 |
| private | ''compileFrontendRoutes()'' | Compile all frontend routes into a combined (?|...) branch-reset regex. | 433 |
| private | ''renderDownloadFile()'' | renderDownloadFile | 477 |
| private | ''errorNotFound()'' | (undocumented) | 494 |
| private | ''whiteListPathRequested()'' | Get whitelisted paths | 509 |

__construct()

public function __construct(?ThemeRendererInterface $themeRenderer = null)

lines 68–78 (11)

Constructor

Registry route and Initialize an instantiate of theme

^ Parameter ^ Type ^ Default ^ Description ^
| ''$themeRenderer'' | [[scriptlog:lib:core:themerendererinterface|''?ThemeRendererInterface'']] | ''null'' | //none// |

dispatch()

public function dispatch()

lines 84–92 (9)

Takes no parameters.

Returns: (none declared)

handleSeoFriendlyUrl()

public function handleSeoFriendlyUrl()

lines 98–195 (98)

handleSeoFriendlyUrl

Takes no parameters.

Returns: (none declared)

validateContentExists()

private function validateContentExists($routeKey, $requestPath)

lines 204–226 (23)

Validate content exists in database

^ Parameter ^ Type ^ Default ^ Description ^
| ''$routeKey'' | ''(untyped)'' | //required// | //none// |
| ''$requestPath'' | ''(untyped)'' | //required// | //none// |

Returns: (none declared) — bool

validateSinglePost()

private function validateSinglePost($requestPath)

lines 228–246 (19)

^ Parameter ^ Type ^ Default ^ Description ^
| ''$requestPath'' | ''(untyped)'' | //required// | //none// |

Returns: (none declared)

validatePage()

private function validatePage($requestPath)

lines 248–265 (18)

^ Parameter ^ Type ^ Default ^ Description ^
| ''$requestPath'' | ''(untyped)'' | //required// | //none// |

Returns: (none declared)

validateCategory()

private function validateCategory($requestPath)

lines 267–276 (10)

^ Parameter ^ Type ^ Default ^ Description ^
| ''$requestPath'' | ''(untyped)'' | //required// | //none// |

Returns: (none declared)

validateArchive()

private function validateArchive($requestPath)

lines 278–295 (18)

^ Parameter ^ Type ^ Default ^ Description ^
| ''$requestPath'' | ''(untyped)'' | //required// | //none// |

Returns: (none declared)

validateTag()

private function validateTag($requestPath)

lines 297–306 (10)

^ Parameter ^ Type ^ Default ^ Description ^
| ''$requestPath'' | ''(untyped)'' | //required// | //none// |

Returns: (none declared)

handleQueryDownload()

private function handleQueryDownload()

lines 308–330 (23)

Takes no parameters.

Returns: (none declared)

handleQueryStringUrl()

private function handleQueryStringUrl()

lines 336–341 (6)

handleQueryStringUrl

Takes no parameters.

Returns: (none declared)

requestURI()

private function requestURI()

lines 349–367 (19)

RequestURI()

Takes no parameters.

Returns: (none declared) — mixed

invokeTheme()

private function invokeTheme()

lines 375–378 (4)

Takes no parameters.

Returns: (none declared)

renderTheme()

private function renderTheme($template)

lines 386–401 (16)

renderTheme

^ Parameter ^ Type ^ Default ^ Description ^
| ''$template'' | ''(untyped)'' | //required// | //none// |

Returns: (none declared)

renderHtmxFragment()

private function renderHtmxFragment($template)

lines 408–422 (15)

Render HTMX fragment — just the content template, no header/footer.

^ Parameter ^ Type ^ Default ^ Description ^
| ''$template'' | ''(untyped)'' | //required// | //none// |

Returns: (none declared)

compileFrontendRoutes()

private function compileFrontendRoutes()

lines 433–467 (35)

Compile all frontend routes into a combined (?|…) branch-reset regex.

Converts Perl-style (?'name'…) named groups to numbered groups for the combined regex, while preserving the original pattern for the per-route verification phase. With ~13 routes, no chunking is needed.

Takes no parameters.

Returns: (none declared) — array

renderDownloadFile()

private function renderDownloadFile($_requestPath)

lines 477–485 (9)

renderDownloadFile

Handles actual file download - bypasses theme headers/footers

^ Parameter ^ Type ^ Default ^ Description ^
| ''$_requestPath'' | ''(untyped)'' | //required// | //none// |

Returns: (none declared)

errorNotFound()

private function errorNotFound()

lines 494–504 (11)

Takes no parameters.

Returns: (none declared)

whiteListPathRequested()

private function whiteListPathRequested()

lines 509–534 (26)

Get whitelisted paths

Takes no parameters.

Returns: (none declared)

Imports

^ Alias ^ Fully-qualified name ^
| ''DownloadController'' | [[scriptlog:lib:controller:downloadcontroller|''Scriptlog\Controller\DownloadController'']] |
| ''LocaleController'' | [[scriptlog:lib:controller:localecontroller|''Scriptlog\Controller\LocaleController'']] |
| ''SearchController'' | [[scriptlog:lib:controller:searchcontroller|''Scriptlog\Controller\SearchController'']] |
| ''MediaDao'' | [[scriptlog:lib:dao:mediadao|''Scriptlog\Dao\MediaDao'']] |
| ''DownloadModel'' | [[scriptlog:lib:model:downloadmodel|''Scriptlog\Model\DownloadModel'']] |
| ''DownloadService'' | [[scriptlog:lib:service:downloadservice|''Scriptlog\Service\DownloadService'']] |

This page is generated from source by 'tools/gendoc'. Edits will be overwritten.

scriptlog/lib/core/dispatcher.1790413761.txt.gz · Last modified: by admin