This is an old revision of the document!
Table of Contents
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.
