====== DownloadHandler ======
**Layer:** ''Handler'' · **Source:** ''lib/handler/DownloadHandler.php:18'' (lines 18–70)
----
class DownloadHandler implements FrontRequestHandler
Renders the download page or handles file download requests.
When the URI contains a "/file" suffix the handler delegates to the
DownloadController to stream the file. Otherwise it renders the
download information page via the theme renderer.
======= Inheritance =======
^ Relation ^ Type ^ Meaning ^
| implements | [[scriptlog:lib:handler:frontrequesthandler|''FrontRequestHandler'']] | contract |
======= Constants (0) =======
//None.//
======= Properties (2) =======
^ Visibility ^ Type ^ Name ^ Default ^ Line ^
| ''private'' | [[scriptlog:lib:core:themerendererinterface|''ThemeRendererInterface'']] | ''$renderer'' | | 25 |
| ''private'' | [[scriptlog:lib:controller:downloadcontroller|''?DownloadController'']] | ''$downloadController'' | | 32 |
======= Methods (2) =======
^ Visibility ^ Method ^ Summary ^ Line ^
| public | ''__construct()'' | Construct a new DownloadHandler. | 40 |
| public | ''handle()'' | Handle an incoming front-end request. | 51 |
======== __construct() ========
public function __construct(ThemeRendererInterface $renderer, ?DownloadController $downloadController = null)
//lines 40–46 (7)//
Construct a new DownloadHandler.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$renderer'' | [[scriptlog:lib:core:themerendererinterface|''ThemeRendererInterface'']] | //required// | The theme renderer instance. |
| ''$downloadController'' | [[scriptlog:lib:controller:downloadcontroller|''?DownloadController'']] | ''null'' | Optional controller for file downloads. |
======== handle() ========
public function handle(array $params): void
//lines 51–69 (19)//
Documentation inherited from [[scriptlog:lib:handler:frontrequesthandler|''Scriptlog\Handler\FrontRequestHandler'']].
Handle an incoming front-end request.
Implementations should validate the parameters, check that the
requested content exists (if applicable), and render the appropriate
theme template via the ThemeRendererInterface instance.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$params'' | ''array'' | //required// | Parsed route parameters (e.g. ['value' => '...']). |
**Returns:** ''void'' — void
======= Imports =======
^ Alias ^ Fully-qualified name ^
| ''DownloadController'' | [[scriptlog:lib:controller:downloadcontroller|''Scriptlog\Controller\DownloadController'']] |
| ''ThemeRendererInterface'' | [[scriptlog:lib:core:themerendererinterface|''Scriptlog\Core\ThemeRendererInterface'']] |
----
//This page is generated from source by 'tools/gendoc'. Edits will be overwritten.//