====== 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.//